//////////////////////////////////////////////////////////////////////////////
//
//  Copyright 2015 Autodesk, Inc.  All rights reserved.
//
//  Use of this software is subject to the terms of the Autodesk license 
//  agreement provided at the time of installation or download, or which 
//  otherwise accompanies this software in either electronic or hard copy form.   
//
//////////////////////////////////////////////////////////////////////////////



/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.00.0595 */
/* at Thu Feb 05 18:28:40 2015
 */
/* Compiler settings for idlsource\acad.idl:
    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.00.0595 
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __acad_i_h__
#define __acad_i_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IAcadObject_FWD_DEFINED__
#define __IAcadObject_FWD_DEFINED__
typedef interface IAcadObject IAcadObject;

#endif 	/* __IAcadObject_FWD_DEFINED__ */


#ifndef __IAcadDictionary_FWD_DEFINED__
#define __IAcadDictionary_FWD_DEFINED__
typedef interface IAcadDictionary IAcadDictionary;

#endif 	/* __IAcadDictionary_FWD_DEFINED__ */


#ifndef __IAcadEntity_FWD_DEFINED__
#define __IAcadEntity_FWD_DEFINED__
typedef interface IAcadEntity IAcadEntity;

#endif 	/* __IAcadEntity_FWD_DEFINED__ */


#ifndef __IAcadBlock_FWD_DEFINED__
#define __IAcadBlock_FWD_DEFINED__
typedef interface IAcadBlock IAcadBlock;

#endif 	/* __IAcadBlock_FWD_DEFINED__ */


#ifndef __IAcadDatabase_FWD_DEFINED__
#define __IAcadDatabase_FWD_DEFINED__
typedef interface IAcadDatabase IAcadDatabase;

#endif 	/* __IAcadDatabase_FWD_DEFINED__ */


#ifndef __IAcadSectionTypeSettings_FWD_DEFINED__
#define __IAcadSectionTypeSettings_FWD_DEFINED__
typedef interface IAcadSectionTypeSettings IAcadSectionTypeSettings;

#endif 	/* __IAcadSectionTypeSettings_FWD_DEFINED__ */


#ifndef __IAcadSectionTypeSettings2_FWD_DEFINED__
#define __IAcadSectionTypeSettings2_FWD_DEFINED__
typedef interface IAcadSectionTypeSettings2 IAcadSectionTypeSettings2;

#endif 	/* __IAcadSectionTypeSettings2_FWD_DEFINED__ */


#ifndef __IAcadHyperlink_FWD_DEFINED__
#define __IAcadHyperlink_FWD_DEFINED__
typedef interface IAcadHyperlink IAcadHyperlink;

#endif 	/* __IAcadHyperlink_FWD_DEFINED__ */


#ifndef __AcadHyperlink_FWD_DEFINED__
#define __AcadHyperlink_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadHyperlink AcadHyperlink;
#else
typedef struct AcadHyperlink AcadHyperlink;
#endif /* __cplusplus */

#endif 	/* __AcadHyperlink_FWD_DEFINED__ */


#ifndef __IAcadDynamicBlockReferenceProperty_FWD_DEFINED__
#define __IAcadDynamicBlockReferenceProperty_FWD_DEFINED__
typedef interface IAcadDynamicBlockReferenceProperty IAcadDynamicBlockReferenceProperty;

#endif 	/* __IAcadDynamicBlockReferenceProperty_FWD_DEFINED__ */


#ifndef __AcadDynamicBlockReferenceProperty_FWD_DEFINED__
#define __AcadDynamicBlockReferenceProperty_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDynamicBlockReferenceProperty AcadDynamicBlockReferenceProperty;
#else
typedef struct AcadDynamicBlockReferenceProperty AcadDynamicBlockReferenceProperty;
#endif /* __cplusplus */

#endif 	/* __AcadDynamicBlockReferenceProperty_FWD_DEFINED__ */


#ifndef __IAcadAcCmColor_FWD_DEFINED__
#define __IAcadAcCmColor_FWD_DEFINED__
typedef interface IAcadAcCmColor IAcadAcCmColor;

#endif 	/* __IAcadAcCmColor_FWD_DEFINED__ */


#ifndef __AcadAcCmColor_FWD_DEFINED__
#define __AcadAcCmColor_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadAcCmColor AcadAcCmColor;
#else
typedef struct AcadAcCmColor AcadAcCmColor;
#endif /* __cplusplus */

#endif 	/* __AcadAcCmColor_FWD_DEFINED__ */


#ifndef __IAcadObjectEvents_FWD_DEFINED__
#define __IAcadObjectEvents_FWD_DEFINED__
typedef interface IAcadObjectEvents IAcadObjectEvents;

#endif 	/* __IAcadObjectEvents_FWD_DEFINED__ */


#ifndef __AcadObject_FWD_DEFINED__
#define __AcadObject_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadObject AcadObject;
#else
typedef struct AcadObject AcadObject;
#endif /* __cplusplus */

#endif 	/* __AcadObject_FWD_DEFINED__ */


#ifndef __IAcadXRecord_FWD_DEFINED__
#define __IAcadXRecord_FWD_DEFINED__
typedef interface IAcadXRecord IAcadXRecord;

#endif 	/* __IAcadXRecord_FWD_DEFINED__ */


#ifndef __AcadXRecord_FWD_DEFINED__
#define __AcadXRecord_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadXRecord AcadXRecord;
#else
typedef struct AcadXRecord AcadXRecord;
#endif /* __cplusplus */

#endif 	/* __AcadXRecord_FWD_DEFINED__ */


#ifndef __IAcadSortentsTable_FWD_DEFINED__
#define __IAcadSortentsTable_FWD_DEFINED__
typedef interface IAcadSortentsTable IAcadSortentsTable;

#endif 	/* __IAcadSortentsTable_FWD_DEFINED__ */


#ifndef __AcadSortentsTable_FWD_DEFINED__
#define __AcadSortentsTable_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSortentsTable AcadSortentsTable;
#else
typedef struct AcadSortentsTable AcadSortentsTable;
#endif /* __cplusplus */

#endif 	/* __AcadSortentsTable_FWD_DEFINED__ */


#ifndef __IAcadDimStyle_FWD_DEFINED__
#define __IAcadDimStyle_FWD_DEFINED__
typedef interface IAcadDimStyle IAcadDimStyle;

#endif 	/* __IAcadDimStyle_FWD_DEFINED__ */


#ifndef __AcadDimStyle_FWD_DEFINED__
#define __AcadDimStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimStyle AcadDimStyle;
#else
typedef struct AcadDimStyle AcadDimStyle;
#endif /* __cplusplus */

#endif 	/* __AcadDimStyle_FWD_DEFINED__ */


#ifndef __IAcadLayer_FWD_DEFINED__
#define __IAcadLayer_FWD_DEFINED__
typedef interface IAcadLayer IAcadLayer;

#endif 	/* __IAcadLayer_FWD_DEFINED__ */


#ifndef __AcadLayer_FWD_DEFINED__
#define __AcadLayer_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLayer AcadLayer;
#else
typedef struct AcadLayer AcadLayer;
#endif /* __cplusplus */

#endif 	/* __AcadLayer_FWD_DEFINED__ */


#ifndef __IAcadLineType_FWD_DEFINED__
#define __IAcadLineType_FWD_DEFINED__
typedef interface IAcadLineType IAcadLineType;

#endif 	/* __IAcadLineType_FWD_DEFINED__ */


#ifndef __AcadLineType_FWD_DEFINED__
#define __AcadLineType_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLineType AcadLineType;
#else
typedef struct AcadLineType AcadLineType;
#endif /* __cplusplus */

#endif 	/* __AcadLineType_FWD_DEFINED__ */


#ifndef __IAcadMaterial_FWD_DEFINED__
#define __IAcadMaterial_FWD_DEFINED__
typedef interface IAcadMaterial IAcadMaterial;

#endif 	/* __IAcadMaterial_FWD_DEFINED__ */


#ifndef __AcadMaterial_FWD_DEFINED__
#define __AcadMaterial_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMaterial AcadMaterial;
#else
typedef struct AcadMaterial AcadMaterial;
#endif /* __cplusplus */

#endif 	/* __AcadMaterial_FWD_DEFINED__ */


#ifndef __IAcadRegisteredApplication_FWD_DEFINED__
#define __IAcadRegisteredApplication_FWD_DEFINED__
typedef interface IAcadRegisteredApplication IAcadRegisteredApplication;

#endif 	/* __IAcadRegisteredApplication_FWD_DEFINED__ */


#ifndef __AcadRegisteredApplication_FWD_DEFINED__
#define __AcadRegisteredApplication_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRegisteredApplication AcadRegisteredApplication;
#else
typedef struct AcadRegisteredApplication AcadRegisteredApplication;
#endif /* __cplusplus */

#endif 	/* __AcadRegisteredApplication_FWD_DEFINED__ */


#ifndef __IAcadTextStyle_FWD_DEFINED__
#define __IAcadTextStyle_FWD_DEFINED__
typedef interface IAcadTextStyle IAcadTextStyle;

#endif 	/* __IAcadTextStyle_FWD_DEFINED__ */


#ifndef __AcadTextStyle_FWD_DEFINED__
#define __AcadTextStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTextStyle AcadTextStyle;
#else
typedef struct AcadTextStyle AcadTextStyle;
#endif /* __cplusplus */

#endif 	/* __AcadTextStyle_FWD_DEFINED__ */


#ifndef __IAcadUCS_FWD_DEFINED__
#define __IAcadUCS_FWD_DEFINED__
typedef interface IAcadUCS IAcadUCS;

#endif 	/* __IAcadUCS_FWD_DEFINED__ */


#ifndef __AcadUCS_FWD_DEFINED__
#define __AcadUCS_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadUCS AcadUCS;
#else
typedef struct AcadUCS AcadUCS;
#endif /* __cplusplus */

#endif 	/* __AcadUCS_FWD_DEFINED__ */


#ifndef __IAcadView_FWD_DEFINED__
#define __IAcadView_FWD_DEFINED__
typedef interface IAcadView IAcadView;

#endif 	/* __IAcadView_FWD_DEFINED__ */


#ifndef __AcadView_FWD_DEFINED__
#define __AcadView_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadView AcadView;
#else
typedef struct AcadView AcadView;
#endif /* __cplusplus */

#endif 	/* __AcadView_FWD_DEFINED__ */


#ifndef __IAcadViewport_FWD_DEFINED__
#define __IAcadViewport_FWD_DEFINED__
typedef interface IAcadViewport IAcadViewport;

#endif 	/* __IAcadViewport_FWD_DEFINED__ */


#ifndef __AcadViewport_FWD_DEFINED__
#define __AcadViewport_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadViewport AcadViewport;
#else
typedef struct AcadViewport AcadViewport;
#endif /* __cplusplus */

#endif 	/* __AcadViewport_FWD_DEFINED__ */


#ifndef __IAcadGroup_FWD_DEFINED__
#define __IAcadGroup_FWD_DEFINED__
typedef interface IAcadGroup IAcadGroup;

#endif 	/* __IAcadGroup_FWD_DEFINED__ */


#ifndef __AcadGroup_FWD_DEFINED__
#define __AcadGroup_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadGroup AcadGroup;
#else
typedef struct AcadGroup AcadGroup;
#endif /* __cplusplus */

#endif 	/* __AcadGroup_FWD_DEFINED__ */


#ifndef __IAcadPlotConfiguration_FWD_DEFINED__
#define __IAcadPlotConfiguration_FWD_DEFINED__
typedef interface IAcadPlotConfiguration IAcadPlotConfiguration;

#endif 	/* __IAcadPlotConfiguration_FWD_DEFINED__ */


#ifndef __AcadPlotConfiguration_FWD_DEFINED__
#define __AcadPlotConfiguration_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPlotConfiguration AcadPlotConfiguration;
#else
typedef struct AcadPlotConfiguration AcadPlotConfiguration;
#endif /* __cplusplus */

#endif 	/* __AcadPlotConfiguration_FWD_DEFINED__ */


#ifndef __IAcadLayout_FWD_DEFINED__
#define __IAcadLayout_FWD_DEFINED__
typedef interface IAcadLayout IAcadLayout;

#endif 	/* __IAcadLayout_FWD_DEFINED__ */


#ifndef __AcadLayout_FWD_DEFINED__
#define __AcadLayout_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLayout AcadLayout;
#else
typedef struct AcadLayout AcadLayout;
#endif /* __cplusplus */

#endif 	/* __AcadLayout_FWD_DEFINED__ */


#ifndef __IAcadIdPair_FWD_DEFINED__
#define __IAcadIdPair_FWD_DEFINED__
typedef interface IAcadIdPair IAcadIdPair;

#endif 	/* __IAcadIdPair_FWD_DEFINED__ */


#ifndef __AcadIdPair_FWD_DEFINED__
#define __AcadIdPair_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadIdPair AcadIdPair;
#else
typedef struct AcadIdPair AcadIdPair;
#endif /* __cplusplus */

#endif 	/* __AcadIdPair_FWD_DEFINED__ */


#ifndef __IAcadTableStyle_FWD_DEFINED__
#define __IAcadTableStyle_FWD_DEFINED__
typedef interface IAcadTableStyle IAcadTableStyle;

#endif 	/* __IAcadTableStyle_FWD_DEFINED__ */


#ifndef __AcadTableStyle_FWD_DEFINED__
#define __AcadTableStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTableStyle AcadTableStyle;
#else
typedef struct AcadTableStyle AcadTableStyle;
#endif /* __cplusplus */

#endif 	/* __AcadTableStyle_FWD_DEFINED__ */


#ifndef __IAcadSectionSettings_FWD_DEFINED__
#define __IAcadSectionSettings_FWD_DEFINED__
typedef interface IAcadSectionSettings IAcadSectionSettings;

#endif 	/* __IAcadSectionSettings_FWD_DEFINED__ */


#ifndef __AcadSectionSettings_FWD_DEFINED__
#define __AcadSectionSettings_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSectionSettings AcadSectionSettings;
#else
typedef struct AcadSectionSettings AcadSectionSettings;
#endif /* __cplusplus */

#endif 	/* __AcadSectionSettings_FWD_DEFINED__ */


#ifndef __AcadSectionTypeSettings_FWD_DEFINED__
#define __AcadSectionTypeSettings_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSectionTypeSettings AcadSectionTypeSettings;
#else
typedef struct AcadSectionTypeSettings AcadSectionTypeSettings;
#endif /* __cplusplus */

#endif 	/* __AcadSectionTypeSettings_FWD_DEFINED__ */


#ifndef __IAcadMLeaderStyle_FWD_DEFINED__
#define __IAcadMLeaderStyle_FWD_DEFINED__
typedef interface IAcadMLeaderStyle IAcadMLeaderStyle;

#endif 	/* __IAcadMLeaderStyle_FWD_DEFINED__ */


#ifndef __AcadMLeaderStyle_FWD_DEFINED__
#define __AcadMLeaderStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMLeaderStyle AcadMLeaderStyle;
#else
typedef struct AcadMLeaderStyle AcadMLeaderStyle;
#endif /* __cplusplus */

#endif 	/* __AcadMLeaderStyle_FWD_DEFINED__ */


#ifndef __IAcadHyperlinks_FWD_DEFINED__
#define __IAcadHyperlinks_FWD_DEFINED__
typedef interface IAcadHyperlinks IAcadHyperlinks;

#endif 	/* __IAcadHyperlinks_FWD_DEFINED__ */


#ifndef __AcadHyperlinks_FWD_DEFINED__
#define __AcadHyperlinks_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadHyperlinks AcadHyperlinks;
#else
typedef struct AcadHyperlinks AcadHyperlinks;
#endif /* __cplusplus */

#endif 	/* __AcadHyperlinks_FWD_DEFINED__ */


#ifndef __AcadDictionary_FWD_DEFINED__
#define __AcadDictionary_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDictionary AcadDictionary;
#else
typedef struct AcadDictionary AcadDictionary;
#endif /* __cplusplus */

#endif 	/* __AcadDictionary_FWD_DEFINED__ */


#ifndef __IAcadLayers_FWD_DEFINED__
#define __IAcadLayers_FWD_DEFINED__
typedef interface IAcadLayers IAcadLayers;

#endif 	/* __IAcadLayers_FWD_DEFINED__ */


#ifndef __AcadLayers_FWD_DEFINED__
#define __AcadLayers_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLayers AcadLayers;
#else
typedef struct AcadLayers AcadLayers;
#endif /* __cplusplus */

#endif 	/* __AcadLayers_FWD_DEFINED__ */


#ifndef __IAcadDimStyles_FWD_DEFINED__
#define __IAcadDimStyles_FWD_DEFINED__
typedef interface IAcadDimStyles IAcadDimStyles;

#endif 	/* __IAcadDimStyles_FWD_DEFINED__ */


#ifndef __AcadDimStyles_FWD_DEFINED__
#define __AcadDimStyles_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimStyles AcadDimStyles;
#else
typedef struct AcadDimStyles AcadDimStyles;
#endif /* __cplusplus */

#endif 	/* __AcadDimStyles_FWD_DEFINED__ */


#ifndef __IAcadDictionaries_FWD_DEFINED__
#define __IAcadDictionaries_FWD_DEFINED__
typedef interface IAcadDictionaries IAcadDictionaries;

#endif 	/* __IAcadDictionaries_FWD_DEFINED__ */


#ifndef __AcadDictionaries_FWD_DEFINED__
#define __AcadDictionaries_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDictionaries AcadDictionaries;
#else
typedef struct AcadDictionaries AcadDictionaries;
#endif /* __cplusplus */

#endif 	/* __AcadDictionaries_FWD_DEFINED__ */


#ifndef __IAcadLineTypes_FWD_DEFINED__
#define __IAcadLineTypes_FWD_DEFINED__
typedef interface IAcadLineTypes IAcadLineTypes;

#endif 	/* __IAcadLineTypes_FWD_DEFINED__ */


#ifndef __AcadLineTypes_FWD_DEFINED__
#define __AcadLineTypes_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLineTypes AcadLineTypes;
#else
typedef struct AcadLineTypes AcadLineTypes;
#endif /* __cplusplus */

#endif 	/* __AcadLineTypes_FWD_DEFINED__ */


#ifndef __IAcadMaterials_FWD_DEFINED__
#define __IAcadMaterials_FWD_DEFINED__
typedef interface IAcadMaterials IAcadMaterials;

#endif 	/* __IAcadMaterials_FWD_DEFINED__ */


#ifndef __AcadMaterials_FWD_DEFINED__
#define __AcadMaterials_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMaterials AcadMaterials;
#else
typedef struct AcadMaterials AcadMaterials;
#endif /* __cplusplus */

#endif 	/* __AcadMaterials_FWD_DEFINED__ */


#ifndef __IAcadTextStyles_FWD_DEFINED__
#define __IAcadTextStyles_FWD_DEFINED__
typedef interface IAcadTextStyles IAcadTextStyles;

#endif 	/* __IAcadTextStyles_FWD_DEFINED__ */


#ifndef __AcadTextStyles_FWD_DEFINED__
#define __AcadTextStyles_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTextStyles AcadTextStyles;
#else
typedef struct AcadTextStyles AcadTextStyles;
#endif /* __cplusplus */

#endif 	/* __AcadTextStyles_FWD_DEFINED__ */


#ifndef __IAcadUCSs_FWD_DEFINED__
#define __IAcadUCSs_FWD_DEFINED__
typedef interface IAcadUCSs IAcadUCSs;

#endif 	/* __IAcadUCSs_FWD_DEFINED__ */


#ifndef __AcadUCSs_FWD_DEFINED__
#define __AcadUCSs_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadUCSs AcadUCSs;
#else
typedef struct AcadUCSs AcadUCSs;
#endif /* __cplusplus */

#endif 	/* __AcadUCSs_FWD_DEFINED__ */


#ifndef __IAcadRegisteredApplications_FWD_DEFINED__
#define __IAcadRegisteredApplications_FWD_DEFINED__
typedef interface IAcadRegisteredApplications IAcadRegisteredApplications;

#endif 	/* __IAcadRegisteredApplications_FWD_DEFINED__ */


#ifndef __AcadRegisteredApplications_FWD_DEFINED__
#define __AcadRegisteredApplications_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRegisteredApplications AcadRegisteredApplications;
#else
typedef struct AcadRegisteredApplications AcadRegisteredApplications;
#endif /* __cplusplus */

#endif 	/* __AcadRegisteredApplications_FWD_DEFINED__ */


#ifndef __IAcadViews_FWD_DEFINED__
#define __IAcadViews_FWD_DEFINED__
typedef interface IAcadViews IAcadViews;

#endif 	/* __IAcadViews_FWD_DEFINED__ */


#ifndef __AcadViews_FWD_DEFINED__
#define __AcadViews_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadViews AcadViews;
#else
typedef struct AcadViews AcadViews;
#endif /* __cplusplus */

#endif 	/* __AcadViews_FWD_DEFINED__ */


#ifndef __IAcadViewports_FWD_DEFINED__
#define __IAcadViewports_FWD_DEFINED__
typedef interface IAcadViewports IAcadViewports;

#endif 	/* __IAcadViewports_FWD_DEFINED__ */


#ifndef __AcadViewports_FWD_DEFINED__
#define __AcadViewports_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadViewports AcadViewports;
#else
typedef struct AcadViewports AcadViewports;
#endif /* __cplusplus */

#endif 	/* __AcadViewports_FWD_DEFINED__ */


#ifndef __IAcadGroups_FWD_DEFINED__
#define __IAcadGroups_FWD_DEFINED__
typedef interface IAcadGroups IAcadGroups;

#endif 	/* __IAcadGroups_FWD_DEFINED__ */


#ifndef __AcadGroups_FWD_DEFINED__
#define __AcadGroups_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadGroups AcadGroups;
#else
typedef struct AcadGroups AcadGroups;
#endif /* __cplusplus */

#endif 	/* __AcadGroups_FWD_DEFINED__ */


#ifndef __IAcadBlocks_FWD_DEFINED__
#define __IAcadBlocks_FWD_DEFINED__
typedef interface IAcadBlocks IAcadBlocks;

#endif 	/* __IAcadBlocks_FWD_DEFINED__ */


#ifndef __AcadBlocks_FWD_DEFINED__
#define __AcadBlocks_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadBlocks AcadBlocks;
#else
typedef struct AcadBlocks AcadBlocks;
#endif /* __cplusplus */

#endif 	/* __AcadBlocks_FWD_DEFINED__ */


#ifndef __IAcadLayouts_FWD_DEFINED__
#define __IAcadLayouts_FWD_DEFINED__
typedef interface IAcadLayouts IAcadLayouts;

#endif 	/* __IAcadLayouts_FWD_DEFINED__ */


#ifndef __AcadLayouts_FWD_DEFINED__
#define __AcadLayouts_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLayouts AcadLayouts;
#else
typedef struct AcadLayouts AcadLayouts;
#endif /* __cplusplus */

#endif 	/* __AcadLayouts_FWD_DEFINED__ */


#ifndef __IAcadPlotConfigurations_FWD_DEFINED__
#define __IAcadPlotConfigurations_FWD_DEFINED__
typedef interface IAcadPlotConfigurations IAcadPlotConfigurations;

#endif 	/* __IAcadPlotConfigurations_FWD_DEFINED__ */


#ifndef __AcadPlotConfigurations_FWD_DEFINED__
#define __AcadPlotConfigurations_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPlotConfigurations AcadPlotConfigurations;
#else
typedef struct AcadPlotConfigurations AcadPlotConfigurations;
#endif /* __cplusplus */

#endif 	/* __AcadPlotConfigurations_FWD_DEFINED__ */


#ifndef __AcadEntity_FWD_DEFINED__
#define __AcadEntity_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadEntity AcadEntity;
#else
typedef struct AcadEntity AcadEntity;
#endif /* __cplusplus */

#endif 	/* __AcadEntity_FWD_DEFINED__ */


#ifndef __IAcadShadowDisplay_FWD_DEFINED__
#define __IAcadShadowDisplay_FWD_DEFINED__
typedef interface IAcadShadowDisplay IAcadShadowDisplay;

#endif 	/* __IAcadShadowDisplay_FWD_DEFINED__ */


#ifndef __IAcadRasterImage_FWD_DEFINED__
#define __IAcadRasterImage_FWD_DEFINED__
typedef interface IAcadRasterImage IAcadRasterImage;

#endif 	/* __IAcadRasterImage_FWD_DEFINED__ */


#ifndef __AcadRasterImage_FWD_DEFINED__
#define __AcadRasterImage_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRasterImage AcadRasterImage;
#else
typedef struct AcadRasterImage AcadRasterImage;
#endif /* __cplusplus */

#endif 	/* __AcadRasterImage_FWD_DEFINED__ */


#ifndef __IAcad3DFace_FWD_DEFINED__
#define __IAcad3DFace_FWD_DEFINED__
typedef interface IAcad3DFace IAcad3DFace;

#endif 	/* __IAcad3DFace_FWD_DEFINED__ */


#ifndef __Acad3DFace_FWD_DEFINED__
#define __Acad3DFace_FWD_DEFINED__

#ifdef __cplusplus
typedef class Acad3DFace Acad3DFace;
#else
typedef struct Acad3DFace Acad3DFace;
#endif /* __cplusplus */

#endif 	/* __Acad3DFace_FWD_DEFINED__ */


#ifndef __IAcad3DPolyline_FWD_DEFINED__
#define __IAcad3DPolyline_FWD_DEFINED__
typedef interface IAcad3DPolyline IAcad3DPolyline;

#endif 	/* __IAcad3DPolyline_FWD_DEFINED__ */


#ifndef __Acad3DPolyline_FWD_DEFINED__
#define __Acad3DPolyline_FWD_DEFINED__

#ifdef __cplusplus
typedef class Acad3DPolyline Acad3DPolyline;
#else
typedef struct Acad3DPolyline Acad3DPolyline;
#endif /* __cplusplus */

#endif 	/* __Acad3DPolyline_FWD_DEFINED__ */


#ifndef __IAcadRegion_FWD_DEFINED__
#define __IAcadRegion_FWD_DEFINED__
typedef interface IAcadRegion IAcadRegion;

#endif 	/* __IAcadRegion_FWD_DEFINED__ */


#ifndef __AcadRegion_FWD_DEFINED__
#define __AcadRegion_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRegion AcadRegion;
#else
typedef struct AcadRegion AcadRegion;
#endif /* __cplusplus */

#endif 	/* __AcadRegion_FWD_DEFINED__ */


#ifndef __IAcad3DSolid_FWD_DEFINED__
#define __IAcad3DSolid_FWD_DEFINED__
typedef interface IAcad3DSolid IAcad3DSolid;

#endif 	/* __IAcad3DSolid_FWD_DEFINED__ */


#ifndef __Acad3DSolid_FWD_DEFINED__
#define __Acad3DSolid_FWD_DEFINED__

#ifdef __cplusplus
typedef class Acad3DSolid Acad3DSolid;
#else
typedef struct Acad3DSolid Acad3DSolid;
#endif /* __cplusplus */

#endif 	/* __Acad3DSolid_FWD_DEFINED__ */


#ifndef __IAcadArc_FWD_DEFINED__
#define __IAcadArc_FWD_DEFINED__
typedef interface IAcadArc IAcadArc;

#endif 	/* __IAcadArc_FWD_DEFINED__ */


#ifndef __AcadArc_FWD_DEFINED__
#define __AcadArc_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadArc AcadArc;
#else
typedef struct AcadArc AcadArc;
#endif /* __cplusplus */

#endif 	/* __AcadArc_FWD_DEFINED__ */


#ifndef __IAcadAttribute_FWD_DEFINED__
#define __IAcadAttribute_FWD_DEFINED__
typedef interface IAcadAttribute IAcadAttribute;

#endif 	/* __IAcadAttribute_FWD_DEFINED__ */


#ifndef __AcadAttribute_FWD_DEFINED__
#define __AcadAttribute_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadAttribute AcadAttribute;
#else
typedef struct AcadAttribute AcadAttribute;
#endif /* __cplusplus */

#endif 	/* __AcadAttribute_FWD_DEFINED__ */


#ifndef __IAcadAttributeReference_FWD_DEFINED__
#define __IAcadAttributeReference_FWD_DEFINED__
typedef interface IAcadAttributeReference IAcadAttributeReference;

#endif 	/* __IAcadAttributeReference_FWD_DEFINED__ */


#ifndef __AcadAttributeReference_FWD_DEFINED__
#define __AcadAttributeReference_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadAttributeReference AcadAttributeReference;
#else
typedef struct AcadAttributeReference AcadAttributeReference;
#endif /* __cplusplus */

#endif 	/* __AcadAttributeReference_FWD_DEFINED__ */


#ifndef __IAcadBlockReference_FWD_DEFINED__
#define __IAcadBlockReference_FWD_DEFINED__
typedef interface IAcadBlockReference IAcadBlockReference;

#endif 	/* __IAcadBlockReference_FWD_DEFINED__ */


#ifndef __AcadBlockReference_FWD_DEFINED__
#define __AcadBlockReference_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadBlockReference AcadBlockReference;
#else
typedef struct AcadBlockReference AcadBlockReference;
#endif /* __cplusplus */

#endif 	/* __AcadBlockReference_FWD_DEFINED__ */


#ifndef __IAcadCircle_FWD_DEFINED__
#define __IAcadCircle_FWD_DEFINED__
typedef interface IAcadCircle IAcadCircle;

#endif 	/* __IAcadCircle_FWD_DEFINED__ */


#ifndef __AcadCircle_FWD_DEFINED__
#define __AcadCircle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadCircle AcadCircle;
#else
typedef struct AcadCircle AcadCircle;
#endif /* __cplusplus */

#endif 	/* __AcadCircle_FWD_DEFINED__ */


#ifndef __IAcadEllipse_FWD_DEFINED__
#define __IAcadEllipse_FWD_DEFINED__
typedef interface IAcadEllipse IAcadEllipse;

#endif 	/* __IAcadEllipse_FWD_DEFINED__ */


#ifndef __AcadEllipse_FWD_DEFINED__
#define __AcadEllipse_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadEllipse AcadEllipse;
#else
typedef struct AcadEllipse AcadEllipse;
#endif /* __cplusplus */

#endif 	/* __AcadEllipse_FWD_DEFINED__ */


#ifndef __IAcadHatch_FWD_DEFINED__
#define __IAcadHatch_FWD_DEFINED__
typedef interface IAcadHatch IAcadHatch;

#endif 	/* __IAcadHatch_FWD_DEFINED__ */


#ifndef __AcadHatch_FWD_DEFINED__
#define __AcadHatch_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadHatch AcadHatch;
#else
typedef struct AcadHatch AcadHatch;
#endif /* __cplusplus */

#endif 	/* __AcadHatch_FWD_DEFINED__ */


#ifndef __IAcadLeader_FWD_DEFINED__
#define __IAcadLeader_FWD_DEFINED__
typedef interface IAcadLeader IAcadLeader;

#endif 	/* __IAcadLeader_FWD_DEFINED__ */


#ifndef __AcadLeader_FWD_DEFINED__
#define __AcadLeader_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLeader AcadLeader;
#else
typedef struct AcadLeader AcadLeader;
#endif /* __cplusplus */

#endif 	/* __AcadLeader_FWD_DEFINED__ */


#ifndef __IAcadSubEntity_FWD_DEFINED__
#define __IAcadSubEntity_FWD_DEFINED__
typedef interface IAcadSubEntity IAcadSubEntity;

#endif 	/* __IAcadSubEntity_FWD_DEFINED__ */


#ifndef __IAcadMLeaderLeader_FWD_DEFINED__
#define __IAcadMLeaderLeader_FWD_DEFINED__
typedef interface IAcadMLeaderLeader IAcadMLeaderLeader;

#endif 	/* __IAcadMLeaderLeader_FWD_DEFINED__ */


#ifndef __AcadMLeaderLeader_FWD_DEFINED__
#define __AcadMLeaderLeader_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMLeaderLeader AcadMLeaderLeader;
#else
typedef struct AcadMLeaderLeader AcadMLeaderLeader;
#endif /* __cplusplus */

#endif 	/* __AcadMLeaderLeader_FWD_DEFINED__ */


#ifndef __IAcadMLeader_FWD_DEFINED__
#define __IAcadMLeader_FWD_DEFINED__
typedef interface IAcadMLeader IAcadMLeader;

#endif 	/* __IAcadMLeader_FWD_DEFINED__ */


#ifndef __AcadMLeader_FWD_DEFINED__
#define __AcadMLeader_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMLeader AcadMLeader;
#else
typedef struct AcadMLeader AcadMLeader;
#endif /* __cplusplus */

#endif 	/* __AcadMLeader_FWD_DEFINED__ */


#ifndef __IAcadLWPolyline_FWD_DEFINED__
#define __IAcadLWPolyline_FWD_DEFINED__
typedef interface IAcadLWPolyline IAcadLWPolyline;

#endif 	/* __IAcadLWPolyline_FWD_DEFINED__ */


#ifndef __AcadLWPolyline_FWD_DEFINED__
#define __AcadLWPolyline_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLWPolyline AcadLWPolyline;
#else
typedef struct AcadLWPolyline AcadLWPolyline;
#endif /* __cplusplus */

#endif 	/* __AcadLWPolyline_FWD_DEFINED__ */


#ifndef __IAcadLine_FWD_DEFINED__
#define __IAcadLine_FWD_DEFINED__
typedef interface IAcadLine IAcadLine;

#endif 	/* __IAcadLine_FWD_DEFINED__ */


#ifndef __AcadLine_FWD_DEFINED__
#define __AcadLine_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLine AcadLine;
#else
typedef struct AcadLine AcadLine;
#endif /* __cplusplus */

#endif 	/* __AcadLine_FWD_DEFINED__ */


#ifndef __IAcadMText_FWD_DEFINED__
#define __IAcadMText_FWD_DEFINED__
typedef interface IAcadMText IAcadMText;

#endif 	/* __IAcadMText_FWD_DEFINED__ */


#ifndef __AcadMText_FWD_DEFINED__
#define __AcadMText_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMText AcadMText;
#else
typedef struct AcadMText AcadMText;
#endif /* __cplusplus */

#endif 	/* __AcadMText_FWD_DEFINED__ */


#ifndef __IAcadPoint_FWD_DEFINED__
#define __IAcadPoint_FWD_DEFINED__
typedef interface IAcadPoint IAcadPoint;

#endif 	/* __IAcadPoint_FWD_DEFINED__ */


#ifndef __AcadPoint_FWD_DEFINED__
#define __AcadPoint_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPoint AcadPoint;
#else
typedef struct AcadPoint AcadPoint;
#endif /* __cplusplus */

#endif 	/* __AcadPoint_FWD_DEFINED__ */


#ifndef __IAcadPolyline_FWD_DEFINED__
#define __IAcadPolyline_FWD_DEFINED__
typedef interface IAcadPolyline IAcadPolyline;

#endif 	/* __IAcadPolyline_FWD_DEFINED__ */


#ifndef __AcadPolyline_FWD_DEFINED__
#define __AcadPolyline_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPolyline AcadPolyline;
#else
typedef struct AcadPolyline AcadPolyline;
#endif /* __cplusplus */

#endif 	/* __AcadPolyline_FWD_DEFINED__ */


#ifndef __IAcadPolygonMesh_FWD_DEFINED__
#define __IAcadPolygonMesh_FWD_DEFINED__
typedef interface IAcadPolygonMesh IAcadPolygonMesh;

#endif 	/* __IAcadPolygonMesh_FWD_DEFINED__ */


#ifndef __AcadPolygonMesh_FWD_DEFINED__
#define __AcadPolygonMesh_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPolygonMesh AcadPolygonMesh;
#else
typedef struct AcadPolygonMesh AcadPolygonMesh;
#endif /* __cplusplus */

#endif 	/* __AcadPolygonMesh_FWD_DEFINED__ */


#ifndef __IAcadRay_FWD_DEFINED__
#define __IAcadRay_FWD_DEFINED__
typedef interface IAcadRay IAcadRay;

#endif 	/* __IAcadRay_FWD_DEFINED__ */


#ifndef __AcadRay_FWD_DEFINED__
#define __AcadRay_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRay AcadRay;
#else
typedef struct AcadRay AcadRay;
#endif /* __cplusplus */

#endif 	/* __AcadRay_FWD_DEFINED__ */


#ifndef __IAcadShape_FWD_DEFINED__
#define __IAcadShape_FWD_DEFINED__
typedef interface IAcadShape IAcadShape;

#endif 	/* __IAcadShape_FWD_DEFINED__ */


#ifndef __AcadShape_FWD_DEFINED__
#define __AcadShape_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadShape AcadShape;
#else
typedef struct AcadShape AcadShape;
#endif /* __cplusplus */

#endif 	/* __AcadShape_FWD_DEFINED__ */


#ifndef __IAcadSolid_FWD_DEFINED__
#define __IAcadSolid_FWD_DEFINED__
typedef interface IAcadSolid IAcadSolid;

#endif 	/* __IAcadSolid_FWD_DEFINED__ */


#ifndef __AcadSolid_FWD_DEFINED__
#define __AcadSolid_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSolid AcadSolid;
#else
typedef struct AcadSolid AcadSolid;
#endif /* __cplusplus */

#endif 	/* __AcadSolid_FWD_DEFINED__ */


#ifndef __IAcadSpline_FWD_DEFINED__
#define __IAcadSpline_FWD_DEFINED__
typedef interface IAcadSpline IAcadSpline;

#endif 	/* __IAcadSpline_FWD_DEFINED__ */


#ifndef __AcadSpline_FWD_DEFINED__
#define __AcadSpline_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSpline AcadSpline;
#else
typedef struct AcadSpline AcadSpline;
#endif /* __cplusplus */

#endif 	/* __AcadSpline_FWD_DEFINED__ */


#ifndef __IAcadText_FWD_DEFINED__
#define __IAcadText_FWD_DEFINED__
typedef interface IAcadText IAcadText;

#endif 	/* __IAcadText_FWD_DEFINED__ */


#ifndef __AcadText_FWD_DEFINED__
#define __AcadText_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadText AcadText;
#else
typedef struct AcadText AcadText;
#endif /* __cplusplus */

#endif 	/* __AcadText_FWD_DEFINED__ */


#ifndef __IAcadTolerance_FWD_DEFINED__
#define __IAcadTolerance_FWD_DEFINED__
typedef interface IAcadTolerance IAcadTolerance;

#endif 	/* __IAcadTolerance_FWD_DEFINED__ */


#ifndef __AcadTolerance_FWD_DEFINED__
#define __AcadTolerance_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTolerance AcadTolerance;
#else
typedef struct AcadTolerance AcadTolerance;
#endif /* __cplusplus */

#endif 	/* __AcadTolerance_FWD_DEFINED__ */


#ifndef __IAcadTrace_FWD_DEFINED__
#define __IAcadTrace_FWD_DEFINED__
typedef interface IAcadTrace IAcadTrace;

#endif 	/* __IAcadTrace_FWD_DEFINED__ */


#ifndef __AcadTrace_FWD_DEFINED__
#define __AcadTrace_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTrace AcadTrace;
#else
typedef struct AcadTrace AcadTrace;
#endif /* __cplusplus */

#endif 	/* __AcadTrace_FWD_DEFINED__ */


#ifndef __IAcadXline_FWD_DEFINED__
#define __IAcadXline_FWD_DEFINED__
typedef interface IAcadXline IAcadXline;

#endif 	/* __IAcadXline_FWD_DEFINED__ */


#ifndef __AcadXline_FWD_DEFINED__
#define __AcadXline_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadXline AcadXline;
#else
typedef struct AcadXline AcadXline;
#endif /* __cplusplus */

#endif 	/* __AcadXline_FWD_DEFINED__ */


#ifndef __IAcadPViewport_FWD_DEFINED__
#define __IAcadPViewport_FWD_DEFINED__
typedef interface IAcadPViewport IAcadPViewport;

#endif 	/* __IAcadPViewport_FWD_DEFINED__ */


#ifndef __AcadPViewport_FWD_DEFINED__
#define __AcadPViewport_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPViewport AcadPViewport;
#else
typedef struct AcadPViewport AcadPViewport;
#endif /* __cplusplus */

#endif 	/* __AcadPViewport_FWD_DEFINED__ */


#ifndef __IAcadMInsertBlock_FWD_DEFINED__
#define __IAcadMInsertBlock_FWD_DEFINED__
typedef interface IAcadMInsertBlock IAcadMInsertBlock;

#endif 	/* __IAcadMInsertBlock_FWD_DEFINED__ */


#ifndef __AcadMInsertBlock_FWD_DEFINED__
#define __AcadMInsertBlock_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMInsertBlock AcadMInsertBlock;
#else
typedef struct AcadMInsertBlock AcadMInsertBlock;
#endif /* __cplusplus */

#endif 	/* __AcadMInsertBlock_FWD_DEFINED__ */


#ifndef __IAcadPolyfaceMesh_FWD_DEFINED__
#define __IAcadPolyfaceMesh_FWD_DEFINED__
typedef interface IAcadPolyfaceMesh IAcadPolyfaceMesh;

#endif 	/* __IAcadPolyfaceMesh_FWD_DEFINED__ */


#ifndef __AcadPolyfaceMesh_FWD_DEFINED__
#define __AcadPolyfaceMesh_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPolyfaceMesh AcadPolyfaceMesh;
#else
typedef struct AcadPolyfaceMesh AcadPolyfaceMesh;
#endif /* __cplusplus */

#endif 	/* __AcadPolyfaceMesh_FWD_DEFINED__ */


#ifndef __IAcadMLine_FWD_DEFINED__
#define __IAcadMLine_FWD_DEFINED__
typedef interface IAcadMLine IAcadMLine;

#endif 	/* __IAcadMLine_FWD_DEFINED__ */


#ifndef __AcadMLine_FWD_DEFINED__
#define __AcadMLine_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMLine AcadMLine;
#else
typedef struct AcadMLine AcadMLine;
#endif /* __cplusplus */

#endif 	/* __AcadMLine_FWD_DEFINED__ */


#ifndef __IAcadExternalReference_FWD_DEFINED__
#define __IAcadExternalReference_FWD_DEFINED__
typedef interface IAcadExternalReference IAcadExternalReference;

#endif 	/* __IAcadExternalReference_FWD_DEFINED__ */


#ifndef __AcadExternalReference_FWD_DEFINED__
#define __AcadExternalReference_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadExternalReference AcadExternalReference;
#else
typedef struct AcadExternalReference AcadExternalReference;
#endif /* __cplusplus */

#endif 	/* __AcadExternalReference_FWD_DEFINED__ */


#ifndef __IAcadTable_FWD_DEFINED__
#define __IAcadTable_FWD_DEFINED__
typedef interface IAcadTable IAcadTable;

#endif 	/* __IAcadTable_FWD_DEFINED__ */


#ifndef __AcadTable_FWD_DEFINED__
#define __AcadTable_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadTable AcadTable;
#else
typedef struct AcadTable AcadTable;
#endif /* __cplusplus */

#endif 	/* __AcadTable_FWD_DEFINED__ */


#ifndef __IAcadOle_FWD_DEFINED__
#define __IAcadOle_FWD_DEFINED__
typedef interface IAcadOle IAcadOle;

#endif 	/* __IAcadOle_FWD_DEFINED__ */


#ifndef __AcadOle_FWD_DEFINED__
#define __AcadOle_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadOle AcadOle;
#else
typedef struct AcadOle AcadOle;
#endif /* __cplusplus */

#endif 	/* __AcadOle_FWD_DEFINED__ */


#ifndef __IAcadHelix_FWD_DEFINED__
#define __IAcadHelix_FWD_DEFINED__
typedef interface IAcadHelix IAcadHelix;

#endif 	/* __IAcadHelix_FWD_DEFINED__ */


#ifndef __AcadHelix_FWD_DEFINED__
#define __AcadHelix_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadHelix AcadHelix;
#else
typedef struct AcadHelix AcadHelix;
#endif /* __cplusplus */

#endif 	/* __AcadHelix_FWD_DEFINED__ */


#ifndef __IAcadSurface_FWD_DEFINED__
#define __IAcadSurface_FWD_DEFINED__
typedef interface IAcadSurface IAcadSurface;

#endif 	/* __IAcadSurface_FWD_DEFINED__ */


#ifndef __AcadSurface_FWD_DEFINED__
#define __AcadSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSurface AcadSurface;
#else
typedef struct AcadSurface AcadSurface;
#endif /* __cplusplus */

#endif 	/* __AcadSurface_FWD_DEFINED__ */


#ifndef __IAcadPlaneSurface_FWD_DEFINED__
#define __IAcadPlaneSurface_FWD_DEFINED__
typedef interface IAcadPlaneSurface IAcadPlaneSurface;

#endif 	/* __IAcadPlaneSurface_FWD_DEFINED__ */


#ifndef __AcadPlaneSurface_FWD_DEFINED__
#define __AcadPlaneSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPlaneSurface AcadPlaneSurface;
#else
typedef struct AcadPlaneSurface AcadPlaneSurface;
#endif /* __cplusplus */

#endif 	/* __AcadPlaneSurface_FWD_DEFINED__ */


#ifndef __IAcadExtrudedSurface_FWD_DEFINED__
#define __IAcadExtrudedSurface_FWD_DEFINED__
typedef interface IAcadExtrudedSurface IAcadExtrudedSurface;

#endif 	/* __IAcadExtrudedSurface_FWD_DEFINED__ */


#ifndef __AcadExtrudedSurface_FWD_DEFINED__
#define __AcadExtrudedSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadExtrudedSurface AcadExtrudedSurface;
#else
typedef struct AcadExtrudedSurface AcadExtrudedSurface;
#endif /* __cplusplus */

#endif 	/* __AcadExtrudedSurface_FWD_DEFINED__ */


#ifndef __IAcadRevolvedSurface_FWD_DEFINED__
#define __IAcadRevolvedSurface_FWD_DEFINED__
typedef interface IAcadRevolvedSurface IAcadRevolvedSurface;

#endif 	/* __IAcadRevolvedSurface_FWD_DEFINED__ */


#ifndef __AcadRevolvedSurface_FWD_DEFINED__
#define __AcadRevolvedSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadRevolvedSurface AcadRevolvedSurface;
#else
typedef struct AcadRevolvedSurface AcadRevolvedSurface;
#endif /* __cplusplus */

#endif 	/* __AcadRevolvedSurface_FWD_DEFINED__ */


#ifndef __IAcadSweptSurface_FWD_DEFINED__
#define __IAcadSweptSurface_FWD_DEFINED__
typedef interface IAcadSweptSurface IAcadSweptSurface;

#endif 	/* __IAcadSweptSurface_FWD_DEFINED__ */


#ifndef __AcadSweptSurface_FWD_DEFINED__
#define __AcadSweptSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSweptSurface AcadSweptSurface;
#else
typedef struct AcadSweptSurface AcadSweptSurface;
#endif /* __cplusplus */

#endif 	/* __AcadSweptSurface_FWD_DEFINED__ */


#ifndef __IAcadLoftedSurface_FWD_DEFINED__
#define __IAcadLoftedSurface_FWD_DEFINED__
typedef interface IAcadLoftedSurface IAcadLoftedSurface;

#endif 	/* __IAcadLoftedSurface_FWD_DEFINED__ */


#ifndef __AcadLoftedSurface_FWD_DEFINED__
#define __AcadLoftedSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLoftedSurface AcadLoftedSurface;
#else
typedef struct AcadLoftedSurface AcadLoftedSurface;
#endif /* __cplusplus */

#endif 	/* __AcadLoftedSurface_FWD_DEFINED__ */


#ifndef __IAcadSection_FWD_DEFINED__
#define __IAcadSection_FWD_DEFINED__
typedef interface IAcadSection IAcadSection;

#endif 	/* __IAcadSection_FWD_DEFINED__ */


#ifndef __IAcadSection2_FWD_DEFINED__
#define __IAcadSection2_FWD_DEFINED__
typedef interface IAcadSection2 IAcadSection2;

#endif 	/* __IAcadSection2_FWD_DEFINED__ */


#ifndef __AcadSection_FWD_DEFINED__
#define __AcadSection_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSection AcadSection;
#else
typedef struct AcadSection AcadSection;
#endif /* __cplusplus */

#endif 	/* __AcadSection_FWD_DEFINED__ */


#ifndef __IAcadSectionManager_FWD_DEFINED__
#define __IAcadSectionManager_FWD_DEFINED__
typedef interface IAcadSectionManager IAcadSectionManager;

#endif 	/* __IAcadSectionManager_FWD_DEFINED__ */


#ifndef __AcadSectionManager_FWD_DEFINED__
#define __AcadSectionManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSectionManager AcadSectionManager;
#else
typedef struct AcadSectionManager AcadSectionManager;
#endif /* __cplusplus */

#endif 	/* __AcadSectionManager_FWD_DEFINED__ */


#ifndef __IAcadUnderlay_FWD_DEFINED__
#define __IAcadUnderlay_FWD_DEFINED__
typedef interface IAcadUnderlay IAcadUnderlay;

#endif 	/* __IAcadUnderlay_FWD_DEFINED__ */


#ifndef __IAcadDwfUnderlay_FWD_DEFINED__
#define __IAcadDwfUnderlay_FWD_DEFINED__
typedef interface IAcadDwfUnderlay IAcadDwfUnderlay;

#endif 	/* __IAcadDwfUnderlay_FWD_DEFINED__ */


#ifndef __AcadDwfUnderlay_FWD_DEFINED__
#define __AcadDwfUnderlay_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDwfUnderlay AcadDwfUnderlay;
#else
typedef struct AcadDwfUnderlay AcadDwfUnderlay;
#endif /* __cplusplus */

#endif 	/* __AcadDwfUnderlay_FWD_DEFINED__ */


#ifndef __AcadDgnUnderlay_FWD_DEFINED__
#define __AcadDgnUnderlay_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDgnUnderlay AcadDgnUnderlay;
#else
typedef struct AcadDgnUnderlay AcadDgnUnderlay;
#endif /* __cplusplus */

#endif 	/* __AcadDgnUnderlay_FWD_DEFINED__ */


#ifndef __AcadPdfUnderlay_FWD_DEFINED__
#define __AcadPdfUnderlay_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPdfUnderlay AcadPdfUnderlay;
#else
typedef struct AcadPdfUnderlay AcadPdfUnderlay;
#endif /* __cplusplus */

#endif 	/* __AcadPdfUnderlay_FWD_DEFINED__ */


#ifndef __AcadSubEntity_FWD_DEFINED__
#define __AcadSubEntity_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubEntity AcadSubEntity;
#else
typedef struct AcadSubEntity AcadSubEntity;
#endif /* __cplusplus */

#endif 	/* __AcadSubEntity_FWD_DEFINED__ */


#ifndef __IAcadSubEntSolidFace_FWD_DEFINED__
#define __IAcadSubEntSolidFace_FWD_DEFINED__
typedef interface IAcadSubEntSolidFace IAcadSubEntSolidFace;

#endif 	/* __IAcadSubEntSolidFace_FWD_DEFINED__ */


#ifndef __AcadSubEntSolidFace_FWD_DEFINED__
#define __AcadSubEntSolidFace_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubEntSolidFace AcadSubEntSolidFace;
#else
typedef struct AcadSubEntSolidFace AcadSubEntSolidFace;
#endif /* __cplusplus */

#endif 	/* __AcadSubEntSolidFace_FWD_DEFINED__ */


#ifndef __IAcadSubEntSolidEdge_FWD_DEFINED__
#define __IAcadSubEntSolidEdge_FWD_DEFINED__
typedef interface IAcadSubEntSolidEdge IAcadSubEntSolidEdge;

#endif 	/* __IAcadSubEntSolidEdge_FWD_DEFINED__ */


#ifndef __AcadSubEntSolidEdge_FWD_DEFINED__
#define __AcadSubEntSolidEdge_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubEntSolidEdge AcadSubEntSolidEdge;
#else
typedef struct AcadSubEntSolidEdge AcadSubEntSolidEdge;
#endif /* __cplusplus */

#endif 	/* __AcadSubEntSolidEdge_FWD_DEFINED__ */


#ifndef __IAcadSubEntSolidVertex_FWD_DEFINED__
#define __IAcadSubEntSolidVertex_FWD_DEFINED__
typedef interface IAcadSubEntSolidVertex IAcadSubEntSolidVertex;

#endif 	/* __IAcadSubEntSolidVertex_FWD_DEFINED__ */


#ifndef __AcadSubEntSolidVertex_FWD_DEFINED__
#define __AcadSubEntSolidVertex_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubEntSolidVertex AcadSubEntSolidVertex;
#else
typedef struct AcadSubEntSolidVertex AcadSubEntSolidVertex;
#endif /* __cplusplus */

#endif 	/* __AcadSubEntSolidVertex_FWD_DEFINED__ */


#ifndef __IAcadSubEntSolidNode_FWD_DEFINED__
#define __IAcadSubEntSolidNode_FWD_DEFINED__
typedef interface IAcadSubEntSolidNode IAcadSubEntSolidNode;

#endif 	/* __IAcadSubEntSolidNode_FWD_DEFINED__ */


#ifndef __AcadSubEntSolidNode_FWD_DEFINED__
#define __AcadSubEntSolidNode_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubEntSolidNode AcadSubEntSolidNode;
#else
typedef struct AcadSubEntSolidNode AcadSubEntSolidNode;
#endif /* __cplusplus */

#endif 	/* __AcadSubEntSolidNode_FWD_DEFINED__ */


#ifndef __IAcadWipeout_FWD_DEFINED__
#define __IAcadWipeout_FWD_DEFINED__
typedef interface IAcadWipeout IAcadWipeout;

#endif 	/* __IAcadWipeout_FWD_DEFINED__ */


#ifndef __AcadWipeout_FWD_DEFINED__
#define __AcadWipeout_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadWipeout AcadWipeout;
#else
typedef struct AcadWipeout AcadWipeout;
#endif /* __cplusplus */

#endif 	/* __AcadWipeout_FWD_DEFINED__ */


#ifndef __IAcadSubDMesh_FWD_DEFINED__
#define __IAcadSubDMesh_FWD_DEFINED__
typedef interface IAcadSubDMesh IAcadSubDMesh;

#endif 	/* __IAcadSubDMesh_FWD_DEFINED__ */


#ifndef __AcadSubDMesh_FWD_DEFINED__
#define __AcadSubDMesh_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubDMesh AcadSubDMesh;
#else
typedef struct AcadSubDMesh AcadSubDMesh;
#endif /* __cplusplus */

#endif 	/* __AcadSubDMesh_FWD_DEFINED__ */


#ifndef __IAcadSubDMeshFace_FWD_DEFINED__
#define __IAcadSubDMeshFace_FWD_DEFINED__
typedef interface IAcadSubDMeshFace IAcadSubDMeshFace;

#endif 	/* __IAcadSubDMeshFace_FWD_DEFINED__ */


#ifndef __AcadSubDMeshFace_FWD_DEFINED__
#define __AcadSubDMeshFace_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubDMeshFace AcadSubDMeshFace;
#else
typedef struct AcadSubDMeshFace AcadSubDMeshFace;
#endif /* __cplusplus */

#endif 	/* __AcadSubDMeshFace_FWD_DEFINED__ */


#ifndef __IAcadSubDMeshEdge_FWD_DEFINED__
#define __IAcadSubDMeshEdge_FWD_DEFINED__
typedef interface IAcadSubDMeshEdge IAcadSubDMeshEdge;

#endif 	/* __IAcadSubDMeshEdge_FWD_DEFINED__ */


#ifndef __AcadSubDMeshEdge_FWD_DEFINED__
#define __AcadSubDMeshEdge_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubDMeshEdge AcadSubDMeshEdge;
#else
typedef struct AcadSubDMeshEdge AcadSubDMeshEdge;
#endif /* __cplusplus */

#endif 	/* __AcadSubDMeshEdge_FWD_DEFINED__ */


#ifndef __IAcadSubDMeshVertex_FWD_DEFINED__
#define __IAcadSubDMeshVertex_FWD_DEFINED__
typedef interface IAcadSubDMeshVertex IAcadSubDMeshVertex;

#endif 	/* __IAcadSubDMeshVertex_FWD_DEFINED__ */


#ifndef __AcadSubDMeshVertex_FWD_DEFINED__
#define __AcadSubDMeshVertex_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSubDMeshVertex AcadSubDMeshVertex;
#else
typedef struct AcadSubDMeshVertex AcadSubDMeshVertex;
#endif /* __cplusplus */

#endif 	/* __AcadSubDMeshVertex_FWD_DEFINED__ */


#ifndef __IAcadNurbSurface_FWD_DEFINED__
#define __IAcadNurbSurface_FWD_DEFINED__
typedef interface IAcadNurbSurface IAcadNurbSurface;

#endif 	/* __IAcadNurbSurface_FWD_DEFINED__ */


#ifndef __AcadNurbSurface_FWD_DEFINED__
#define __AcadNurbSurface_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadNurbSurface AcadNurbSurface;
#else
typedef struct AcadNurbSurface AcadNurbSurface;
#endif /* __cplusplus */

#endif 	/* __AcadNurbSurface_FWD_DEFINED__ */


#ifndef __IAcadGeoPositionMarker_FWD_DEFINED__
#define __IAcadGeoPositionMarker_FWD_DEFINED__
typedef interface IAcadGeoPositionMarker IAcadGeoPositionMarker;

#endif 	/* __IAcadGeoPositionMarker_FWD_DEFINED__ */


#ifndef __AcadGeoPositionMarker_FWD_DEFINED__
#define __AcadGeoPositionMarker_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadGeoPositionMarker AcadGeoPositionMarker;
#else
typedef struct AcadGeoPositionMarker AcadGeoPositionMarker;
#endif /* __cplusplus */

#endif 	/* __AcadGeoPositionMarker_FWD_DEFINED__ */


#ifndef __IAcadGeomapImage_FWD_DEFINED__
#define __IAcadGeomapImage_FWD_DEFINED__
typedef interface IAcadGeomapImage IAcadGeomapImage;

#endif 	/* __IAcadGeomapImage_FWD_DEFINED__ */


#ifndef __AcadGeomapImage_FWD_DEFINED__
#define __AcadGeomapImage_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadGeomapImage AcadGeomapImage;
#else
typedef struct AcadGeomapImage AcadGeomapImage;
#endif /* __cplusplus */

#endif 	/* __AcadGeomapImage_FWD_DEFINED__ */


#ifndef __IAcadDimension_FWD_DEFINED__
#define __IAcadDimension_FWD_DEFINED__
typedef interface IAcadDimension IAcadDimension;

#endif 	/* __IAcadDimension_FWD_DEFINED__ */


#ifndef __AcadDimension_FWD_DEFINED__
#define __AcadDimension_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimension AcadDimension;
#else
typedef struct AcadDimension AcadDimension;
#endif /* __cplusplus */

#endif 	/* __AcadDimension_FWD_DEFINED__ */


#ifndef __IAcadDimAligned_FWD_DEFINED__
#define __IAcadDimAligned_FWD_DEFINED__
typedef interface IAcadDimAligned IAcadDimAligned;

#endif 	/* __IAcadDimAligned_FWD_DEFINED__ */


#ifndef __AcadDimAligned_FWD_DEFINED__
#define __AcadDimAligned_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimAligned AcadDimAligned;
#else
typedef struct AcadDimAligned AcadDimAligned;
#endif /* __cplusplus */

#endif 	/* __AcadDimAligned_FWD_DEFINED__ */


#ifndef __IAcadDimAngular_FWD_DEFINED__
#define __IAcadDimAngular_FWD_DEFINED__
typedef interface IAcadDimAngular IAcadDimAngular;

#endif 	/* __IAcadDimAngular_FWD_DEFINED__ */


#ifndef __AcadDimAngular_FWD_DEFINED__
#define __AcadDimAngular_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimAngular AcadDimAngular;
#else
typedef struct AcadDimAngular AcadDimAngular;
#endif /* __cplusplus */

#endif 	/* __AcadDimAngular_FWD_DEFINED__ */


#ifndef __IAcadDimDiametric_FWD_DEFINED__
#define __IAcadDimDiametric_FWD_DEFINED__
typedef interface IAcadDimDiametric IAcadDimDiametric;

#endif 	/* __IAcadDimDiametric_FWD_DEFINED__ */


#ifndef __AcadDimDiametric_FWD_DEFINED__
#define __AcadDimDiametric_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimDiametric AcadDimDiametric;
#else
typedef struct AcadDimDiametric AcadDimDiametric;
#endif /* __cplusplus */

#endif 	/* __AcadDimDiametric_FWD_DEFINED__ */


#ifndef __IAcadDimOrdinate_FWD_DEFINED__
#define __IAcadDimOrdinate_FWD_DEFINED__
typedef interface IAcadDimOrdinate IAcadDimOrdinate;

#endif 	/* __IAcadDimOrdinate_FWD_DEFINED__ */


#ifndef __AcadDimOrdinate_FWD_DEFINED__
#define __AcadDimOrdinate_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimOrdinate AcadDimOrdinate;
#else
typedef struct AcadDimOrdinate AcadDimOrdinate;
#endif /* __cplusplus */

#endif 	/* __AcadDimOrdinate_FWD_DEFINED__ */


#ifndef __IAcadDimRadial_FWD_DEFINED__
#define __IAcadDimRadial_FWD_DEFINED__
typedef interface IAcadDimRadial IAcadDimRadial;

#endif 	/* __IAcadDimRadial_FWD_DEFINED__ */


#ifndef __AcadDimRadial_FWD_DEFINED__
#define __AcadDimRadial_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimRadial AcadDimRadial;
#else
typedef struct AcadDimRadial AcadDimRadial;
#endif /* __cplusplus */

#endif 	/* __AcadDimRadial_FWD_DEFINED__ */


#ifndef __IAcadDimRotated_FWD_DEFINED__
#define __IAcadDimRotated_FWD_DEFINED__
typedef interface IAcadDimRotated IAcadDimRotated;

#endif 	/* __IAcadDimRotated_FWD_DEFINED__ */


#ifndef __AcadDimRotated_FWD_DEFINED__
#define __AcadDimRotated_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimRotated AcadDimRotated;
#else
typedef struct AcadDimRotated AcadDimRotated;
#endif /* __cplusplus */

#endif 	/* __AcadDimRotated_FWD_DEFINED__ */


#ifndef __IAcadDim3PointAngular_FWD_DEFINED__
#define __IAcadDim3PointAngular_FWD_DEFINED__
typedef interface IAcadDim3PointAngular IAcadDim3PointAngular;

#endif 	/* __IAcadDim3PointAngular_FWD_DEFINED__ */


#ifndef __AcadDim3PointAngular_FWD_DEFINED__
#define __AcadDim3PointAngular_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDim3PointAngular AcadDim3PointAngular;
#else
typedef struct AcadDim3PointAngular AcadDim3PointAngular;
#endif /* __cplusplus */

#endif 	/* __AcadDim3PointAngular_FWD_DEFINED__ */


#ifndef __IAcadDimArcLength_FWD_DEFINED__
#define __IAcadDimArcLength_FWD_DEFINED__
typedef interface IAcadDimArcLength IAcadDimArcLength;

#endif 	/* __IAcadDimArcLength_FWD_DEFINED__ */


#ifndef __AcadDimArcLength_FWD_DEFINED__
#define __AcadDimArcLength_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimArcLength AcadDimArcLength;
#else
typedef struct AcadDimArcLength AcadDimArcLength;
#endif /* __cplusplus */

#endif 	/* __AcadDimArcLength_FWD_DEFINED__ */


#ifndef __IAcadDimRadialLarge_FWD_DEFINED__
#define __IAcadDimRadialLarge_FWD_DEFINED__
typedef interface IAcadDimRadialLarge IAcadDimRadialLarge;

#endif 	/* __IAcadDimRadialLarge_FWD_DEFINED__ */


#ifndef __AcadDimRadialLarge_FWD_DEFINED__
#define __AcadDimRadialLarge_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDimRadialLarge AcadDimRadialLarge;
#else
typedef struct AcadDimRadialLarge AcadDimRadialLarge;
#endif /* __cplusplus */

#endif 	/* __AcadDimRadialLarge_FWD_DEFINED__ */


#ifndef __AcadBlock_FWD_DEFINED__
#define __AcadBlock_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadBlock AcadBlock;
#else
typedef struct AcadBlock AcadBlock;
#endif /* __cplusplus */

#endif 	/* __AcadBlock_FWD_DEFINED__ */


#ifndef __IAcadModelSpace_FWD_DEFINED__
#define __IAcadModelSpace_FWD_DEFINED__
typedef interface IAcadModelSpace IAcadModelSpace;

#endif 	/* __IAcadModelSpace_FWD_DEFINED__ */


#ifndef __AcadModelSpace_FWD_DEFINED__
#define __AcadModelSpace_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadModelSpace AcadModelSpace;
#else
typedef struct AcadModelSpace AcadModelSpace;
#endif /* __cplusplus */

#endif 	/* __AcadModelSpace_FWD_DEFINED__ */


#ifndef __IAcadPaperSpace_FWD_DEFINED__
#define __IAcadPaperSpace_FWD_DEFINED__
typedef interface IAcadPaperSpace IAcadPaperSpace;

#endif 	/* __IAcadPaperSpace_FWD_DEFINED__ */


#ifndef __AcadPaperSpace_FWD_DEFINED__
#define __AcadPaperSpace_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPaperSpace AcadPaperSpace;
#else
typedef struct AcadPaperSpace AcadPaperSpace;
#endif /* __cplusplus */

#endif 	/* __AcadPaperSpace_FWD_DEFINED__ */


#ifndef __IAcadPointCloud_FWD_DEFINED__
#define __IAcadPointCloud_FWD_DEFINED__
typedef interface IAcadPointCloud IAcadPointCloud;

#endif 	/* __IAcadPointCloud_FWD_DEFINED__ */


#ifndef __AcadPointCloud_FWD_DEFINED__
#define __AcadPointCloud_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPointCloud AcadPointCloud;
#else
typedef struct AcadPointCloud AcadPointCloud;
#endif /* __cplusplus */

#endif 	/* __AcadPointCloud_FWD_DEFINED__ */


#ifndef __IAcadPointCloudEx_FWD_DEFINED__
#define __IAcadPointCloudEx_FWD_DEFINED__
typedef interface IAcadPointCloudEx IAcadPointCloudEx;

#endif 	/* __IAcadPointCloudEx_FWD_DEFINED__ */


#ifndef __IAcadPointCloudEx2_FWD_DEFINED__
#define __IAcadPointCloudEx2_FWD_DEFINED__
typedef interface IAcadPointCloudEx2 IAcadPointCloudEx2;

#endif 	/* __IAcadPointCloudEx2_FWD_DEFINED__ */


#ifndef __AcadPointCloudEx_FWD_DEFINED__
#define __AcadPointCloudEx_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPointCloudEx AcadPointCloudEx;
#else
typedef struct AcadPointCloudEx AcadPointCloudEx;
#endif /* __cplusplus */

#endif 	/* __AcadPointCloudEx_FWD_DEFINED__ */


#ifndef __IAcadFileDependency_FWD_DEFINED__
#define __IAcadFileDependency_FWD_DEFINED__
typedef interface IAcadFileDependency IAcadFileDependency;

#endif 	/* __IAcadFileDependency_FWD_DEFINED__ */


#ifndef __AcadFileDependency_FWD_DEFINED__
#define __AcadFileDependency_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadFileDependency AcadFileDependency;
#else
typedef struct AcadFileDependency AcadFileDependency;
#endif /* __cplusplus */

#endif 	/* __AcadFileDependency_FWD_DEFINED__ */


#ifndef __IAcadFileDependencies_FWD_DEFINED__
#define __IAcadFileDependencies_FWD_DEFINED__
typedef interface IAcadFileDependencies IAcadFileDependencies;

#endif 	/* __IAcadFileDependencies_FWD_DEFINED__ */


#ifndef __AcadFileDependencies_FWD_DEFINED__
#define __AcadFileDependencies_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadFileDependencies AcadFileDependencies;
#else
typedef struct AcadFileDependencies AcadFileDependencies;
#endif /* __cplusplus */

#endif 	/* __AcadFileDependencies_FWD_DEFINED__ */


#ifndef __IAcadSummaryInfo_FWD_DEFINED__
#define __IAcadSummaryInfo_FWD_DEFINED__
typedef interface IAcadSummaryInfo IAcadSummaryInfo;

#endif 	/* __IAcadSummaryInfo_FWD_DEFINED__ */


#ifndef __AcadSummaryInfo_FWD_DEFINED__
#define __AcadSummaryInfo_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSummaryInfo AcadSummaryInfo;
#else
typedef struct AcadSummaryInfo AcadSummaryInfo;
#endif /* __cplusplus */

#endif 	/* __AcadSummaryInfo_FWD_DEFINED__ */


#ifndef __IAcadDatabasePreferences_FWD_DEFINED__
#define __IAcadDatabasePreferences_FWD_DEFINED__
typedef interface IAcadDatabasePreferences IAcadDatabasePreferences;

#endif 	/* __IAcadDatabasePreferences_FWD_DEFINED__ */


#ifndef __AcadDatabasePreferences_FWD_DEFINED__
#define __AcadDatabasePreferences_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDatabasePreferences AcadDatabasePreferences;
#else
typedef struct AcadDatabasePreferences AcadDatabasePreferences;
#endif /* __cplusplus */

#endif 	/* __AcadDatabasePreferences_FWD_DEFINED__ */


#ifndef __AcadDatabase_FWD_DEFINED__
#define __AcadDatabase_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDatabase AcadDatabase;
#else
typedef struct AcadDatabase AcadDatabase;
#endif /* __cplusplus */

#endif 	/* __AcadDatabase_FWD_DEFINED__ */


#ifndef __IAcadSecurityParams_FWD_DEFINED__
#define __IAcadSecurityParams_FWD_DEFINED__
typedef interface IAcadSecurityParams IAcadSecurityParams;

#endif 	/* __IAcadSecurityParams_FWD_DEFINED__ */


#ifndef __AcadSecurityParams_FWD_DEFINED__
#define __AcadSecurityParams_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSecurityParams AcadSecurityParams;
#else
typedef struct AcadSecurityParams AcadSecurityParams;
#endif /* __cplusplus */

#endif 	/* __AcadSecurityParams_FWD_DEFINED__ */


#ifndef __IAcadLayerStateManager_FWD_DEFINED__
#define __IAcadLayerStateManager_FWD_DEFINED__
typedef interface IAcadLayerStateManager IAcadLayerStateManager;

#endif 	/* __IAcadLayerStateManager_FWD_DEFINED__ */


#ifndef __AcadLayerStateManager_FWD_DEFINED__
#define __AcadLayerStateManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadLayerStateManager AcadLayerStateManager;
#else
typedef struct AcadLayerStateManager AcadLayerStateManager;
#endif /* __cplusplus */

#endif 	/* __AcadLayerStateManager_FWD_DEFINED__ */


#ifndef ___DAcadApplicationEvents_FWD_DEFINED__
#define ___DAcadApplicationEvents_FWD_DEFINED__
typedef interface _DAcadApplicationEvents _DAcadApplicationEvents;

#endif 	/* ___DAcadApplicationEvents_FWD_DEFINED__ */


#ifndef __IAcadDocument_FWD_DEFINED__
#define __IAcadDocument_FWD_DEFINED__
typedef interface IAcadDocument IAcadDocument;

#endif 	/* __IAcadDocument_FWD_DEFINED__ */


#ifndef __IAcadDocuments_FWD_DEFINED__
#define __IAcadDocuments_FWD_DEFINED__
typedef interface IAcadDocuments IAcadDocuments;

#endif 	/* __IAcadDocuments_FWD_DEFINED__ */


#ifndef __IAcadPreferences_FWD_DEFINED__
#define __IAcadPreferences_FWD_DEFINED__
typedef interface IAcadPreferences IAcadPreferences;

#endif 	/* __IAcadPreferences_FWD_DEFINED__ */


#ifndef __IAcadMenuGroups_FWD_DEFINED__
#define __IAcadMenuGroups_FWD_DEFINED__
typedef interface IAcadMenuGroups IAcadMenuGroups;

#endif 	/* __IAcadMenuGroups_FWD_DEFINED__ */


#ifndef __IAcadMenuBar_FWD_DEFINED__
#define __IAcadMenuBar_FWD_DEFINED__
typedef interface IAcadMenuBar IAcadMenuBar;

#endif 	/* __IAcadMenuBar_FWD_DEFINED__ */


#ifndef __IAcadApplication_FWD_DEFINED__
#define __IAcadApplication_FWD_DEFINED__
typedef interface IAcadApplication IAcadApplication;

#endif 	/* __IAcadApplication_FWD_DEFINED__ */


#ifndef __IAcadState_FWD_DEFINED__
#define __IAcadState_FWD_DEFINED__
typedef interface IAcadState IAcadState;

#endif 	/* __IAcadState_FWD_DEFINED__ */


#ifndef __AcadState_FWD_DEFINED__
#define __AcadState_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadState AcadState;
#else
typedef struct AcadState AcadState;
#endif /* __cplusplus */

#endif 	/* __AcadState_FWD_DEFINED__ */


#ifndef __AcadApplication_FWD_DEFINED__
#define __AcadApplication_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadApplication AcadApplication;
#else
typedef struct AcadApplication AcadApplication;
#endif /* __cplusplus */

#endif 	/* __AcadApplication_FWD_DEFINED__ */


#ifndef __AcadApplicationMinorVersion1_FWD_DEFINED__
#define __AcadApplicationMinorVersion1_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadApplicationMinorVersion1 AcadApplicationMinorVersion1;
#else
typedef struct AcadApplicationMinorVersion1 AcadApplicationMinorVersion1;
#endif /* __cplusplus */

#endif 	/* __AcadApplicationMinorVersion1_FWD_DEFINED__ */


#ifndef __IAcadSelectionSet_FWD_DEFINED__
#define __IAcadSelectionSet_FWD_DEFINED__
typedef interface IAcadSelectionSet IAcadSelectionSet;

#endif 	/* __IAcadSelectionSet_FWD_DEFINED__ */


#ifndef __AcadSelectionSet_FWD_DEFINED__
#define __AcadSelectionSet_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSelectionSet AcadSelectionSet;
#else
typedef struct AcadSelectionSet AcadSelectionSet;
#endif /* __cplusplus */

#endif 	/* __AcadSelectionSet_FWD_DEFINED__ */


#ifndef __IAcadSelectionSets_FWD_DEFINED__
#define __IAcadSelectionSets_FWD_DEFINED__
typedef interface IAcadSelectionSets IAcadSelectionSets;

#endif 	/* __IAcadSelectionSets_FWD_DEFINED__ */


#ifndef __AcadSelectionSets_FWD_DEFINED__
#define __AcadSelectionSets_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadSelectionSets AcadSelectionSets;
#else
typedef struct AcadSelectionSets AcadSelectionSets;
#endif /* __cplusplus */

#endif 	/* __AcadSelectionSets_FWD_DEFINED__ */


#ifndef __IAcadPlot_FWD_DEFINED__
#define __IAcadPlot_FWD_DEFINED__
typedef interface IAcadPlot IAcadPlot;

#endif 	/* __IAcadPlot_FWD_DEFINED__ */


#ifndef __AcadPlot_FWD_DEFINED__
#define __AcadPlot_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPlot AcadPlot;
#else
typedef struct AcadPlot AcadPlot;
#endif /* __cplusplus */

#endif 	/* __AcadPlot_FWD_DEFINED__ */


#ifndef __IAcadPreferencesFiles_FWD_DEFINED__
#define __IAcadPreferencesFiles_FWD_DEFINED__
typedef interface IAcadPreferencesFiles IAcadPreferencesFiles;

#endif 	/* __IAcadPreferencesFiles_FWD_DEFINED__ */


#ifndef __IAcadPreferencesDisplay_FWD_DEFINED__
#define __IAcadPreferencesDisplay_FWD_DEFINED__
typedef interface IAcadPreferencesDisplay IAcadPreferencesDisplay;

#endif 	/* __IAcadPreferencesDisplay_FWD_DEFINED__ */


#ifndef __IAcadPreferencesOpenSave_FWD_DEFINED__
#define __IAcadPreferencesOpenSave_FWD_DEFINED__
typedef interface IAcadPreferencesOpenSave IAcadPreferencesOpenSave;

#endif 	/* __IAcadPreferencesOpenSave_FWD_DEFINED__ */


#ifndef __IAcadPreferencesUser_FWD_DEFINED__
#define __IAcadPreferencesUser_FWD_DEFINED__
typedef interface IAcadPreferencesUser IAcadPreferencesUser;

#endif 	/* __IAcadPreferencesUser_FWD_DEFINED__ */


#ifndef __IAcadPreferencesProfiles_FWD_DEFINED__
#define __IAcadPreferencesProfiles_FWD_DEFINED__
typedef interface IAcadPreferencesProfiles IAcadPreferencesProfiles;

#endif 	/* __IAcadPreferencesProfiles_FWD_DEFINED__ */


#ifndef __IAcadPreferencesDrafting_FWD_DEFINED__
#define __IAcadPreferencesDrafting_FWD_DEFINED__
typedef interface IAcadPreferencesDrafting IAcadPreferencesDrafting;

#endif 	/* __IAcadPreferencesDrafting_FWD_DEFINED__ */


#ifndef __IAcadPreferencesOutput_FWD_DEFINED__
#define __IAcadPreferencesOutput_FWD_DEFINED__
typedef interface IAcadPreferencesOutput IAcadPreferencesOutput;

#endif 	/* __IAcadPreferencesOutput_FWD_DEFINED__ */


#ifndef __IAcadPreferencesSelection_FWD_DEFINED__
#define __IAcadPreferencesSelection_FWD_DEFINED__
typedef interface IAcadPreferencesSelection IAcadPreferencesSelection;

#endif 	/* __IAcadPreferencesSelection_FWD_DEFINED__ */


#ifndef __IAcadPreferencesSystem_FWD_DEFINED__
#define __IAcadPreferencesSystem_FWD_DEFINED__
typedef interface IAcadPreferencesSystem IAcadPreferencesSystem;

#endif 	/* __IAcadPreferencesSystem_FWD_DEFINED__ */


#ifndef __AcadPreferences_FWD_DEFINED__
#define __AcadPreferences_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferences AcadPreferences;
#else
typedef struct AcadPreferences AcadPreferences;
#endif /* __cplusplus */

#endif 	/* __AcadPreferences_FWD_DEFINED__ */


#ifndef __AcadPreferencesDrafting_FWD_DEFINED__
#define __AcadPreferencesDrafting_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesDrafting AcadPreferencesDrafting;
#else
typedef struct AcadPreferencesDrafting AcadPreferencesDrafting;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesDrafting_FWD_DEFINED__ */


#ifndef __AcadPreferencesDisplay_FWD_DEFINED__
#define __AcadPreferencesDisplay_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesDisplay AcadPreferencesDisplay;
#else
typedef struct AcadPreferencesDisplay AcadPreferencesDisplay;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesDisplay_FWD_DEFINED__ */


#ifndef __AcadPreferencesFiles_FWD_DEFINED__
#define __AcadPreferencesFiles_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesFiles AcadPreferencesFiles;
#else
typedef struct AcadPreferencesFiles AcadPreferencesFiles;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesFiles_FWD_DEFINED__ */


#ifndef __AcadPreferencesOpenSave_FWD_DEFINED__
#define __AcadPreferencesOpenSave_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesOpenSave AcadPreferencesOpenSave;
#else
typedef struct AcadPreferencesOpenSave AcadPreferencesOpenSave;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesOpenSave_FWD_DEFINED__ */


#ifndef __AcadPreferencesOutput_FWD_DEFINED__
#define __AcadPreferencesOutput_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesOutput AcadPreferencesOutput;
#else
typedef struct AcadPreferencesOutput AcadPreferencesOutput;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesOutput_FWD_DEFINED__ */


#ifndef __AcadPreferencesProfiles_FWD_DEFINED__
#define __AcadPreferencesProfiles_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesProfiles AcadPreferencesProfiles;
#else
typedef struct AcadPreferencesProfiles AcadPreferencesProfiles;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesProfiles_FWD_DEFINED__ */


#ifndef __AcadPreferencesSelection_FWD_DEFINED__
#define __AcadPreferencesSelection_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesSelection AcadPreferencesSelection;
#else
typedef struct AcadPreferencesSelection AcadPreferencesSelection;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesSelection_FWD_DEFINED__ */


#ifndef __AcadPreferencesSystem_FWD_DEFINED__
#define __AcadPreferencesSystem_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesSystem AcadPreferencesSystem;
#else
typedef struct AcadPreferencesSystem AcadPreferencesSystem;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesSystem_FWD_DEFINED__ */


#ifndef __AcadPreferencesUser_FWD_DEFINED__
#define __AcadPreferencesUser_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPreferencesUser AcadPreferencesUser;
#else
typedef struct AcadPreferencesUser AcadPreferencesUser;
#endif /* __cplusplus */

#endif 	/* __AcadPreferencesUser_FWD_DEFINED__ */


#ifndef __IAcadMenuGroup_FWD_DEFINED__
#define __IAcadMenuGroup_FWD_DEFINED__
typedef interface IAcadMenuGroup IAcadMenuGroup;

#endif 	/* __IAcadMenuGroup_FWD_DEFINED__ */


#ifndef __AcadMenuGroups_FWD_DEFINED__
#define __AcadMenuGroups_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMenuGroups AcadMenuGroups;
#else
typedef struct AcadMenuGroups AcadMenuGroups;
#endif /* __cplusplus */

#endif 	/* __AcadMenuGroups_FWD_DEFINED__ */


#ifndef __IAcadPopupMenus_FWD_DEFINED__
#define __IAcadPopupMenus_FWD_DEFINED__
typedef interface IAcadPopupMenus IAcadPopupMenus;

#endif 	/* __IAcadPopupMenus_FWD_DEFINED__ */


#ifndef __IAcadToolbars_FWD_DEFINED__
#define __IAcadToolbars_FWD_DEFINED__
typedef interface IAcadToolbars IAcadToolbars;

#endif 	/* __IAcadToolbars_FWD_DEFINED__ */


#ifndef __AcadMenuGroup_FWD_DEFINED__
#define __AcadMenuGroup_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMenuGroup AcadMenuGroup;
#else
typedef struct AcadMenuGroup AcadMenuGroup;
#endif /* __cplusplus */

#endif 	/* __AcadMenuGroup_FWD_DEFINED__ */


#ifndef __IAcadPopupMenu_FWD_DEFINED__
#define __IAcadPopupMenu_FWD_DEFINED__
typedef interface IAcadPopupMenu IAcadPopupMenu;

#endif 	/* __IAcadPopupMenu_FWD_DEFINED__ */


#ifndef __AcadMenuBar_FWD_DEFINED__
#define __AcadMenuBar_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadMenuBar AcadMenuBar;
#else
typedef struct AcadMenuBar AcadMenuBar;
#endif /* __cplusplus */

#endif 	/* __AcadMenuBar_FWD_DEFINED__ */


#ifndef __AcadPopupMenus_FWD_DEFINED__
#define __AcadPopupMenus_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPopupMenus AcadPopupMenus;
#else
typedef struct AcadPopupMenus AcadPopupMenus;
#endif /* __cplusplus */

#endif 	/* __AcadPopupMenus_FWD_DEFINED__ */


#ifndef __IAcadPopupMenuItem_FWD_DEFINED__
#define __IAcadPopupMenuItem_FWD_DEFINED__
typedef interface IAcadPopupMenuItem IAcadPopupMenuItem;

#endif 	/* __IAcadPopupMenuItem_FWD_DEFINED__ */


#ifndef __AcadPopupMenu_FWD_DEFINED__
#define __AcadPopupMenu_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPopupMenu AcadPopupMenu;
#else
typedef struct AcadPopupMenu AcadPopupMenu;
#endif /* __cplusplus */

#endif 	/* __AcadPopupMenu_FWD_DEFINED__ */


#ifndef __AcadPopupMenuItem_FWD_DEFINED__
#define __AcadPopupMenuItem_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadPopupMenuItem AcadPopupMenuItem;
#else
typedef struct AcadPopupMenuItem AcadPopupMenuItem;
#endif /* __cplusplus */

#endif 	/* __AcadPopupMenuItem_FWD_DEFINED__ */


#ifndef __IAcadUtility_FWD_DEFINED__
#define __IAcadUtility_FWD_DEFINED__
typedef interface IAcadUtility IAcadUtility;

#endif 	/* __IAcadUtility_FWD_DEFINED__ */


#ifndef __AcadUtility_FWD_DEFINED__
#define __AcadUtility_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadUtility AcadUtility;
#else
typedef struct AcadUtility AcadUtility;
#endif /* __cplusplus */

#endif 	/* __AcadUtility_FWD_DEFINED__ */


#ifndef ___DAcadDocumentEvents_FWD_DEFINED__
#define ___DAcadDocumentEvents_FWD_DEFINED__
typedef interface _DAcadDocumentEvents _DAcadDocumentEvents;

#endif 	/* ___DAcadDocumentEvents_FWD_DEFINED__ */


#ifndef __AcadDocument_FWD_DEFINED__
#define __AcadDocument_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDocument AcadDocument;
#else
typedef struct AcadDocument AcadDocument;
#endif /* __cplusplus */

#endif 	/* __AcadDocument_FWD_DEFINED__ */


#ifndef __AcadDocuments_FWD_DEFINED__
#define __AcadDocuments_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadDocuments AcadDocuments;
#else
typedef struct AcadDocuments AcadDocuments;
#endif /* __cplusplus */

#endif 	/* __AcadDocuments_FWD_DEFINED__ */


#ifndef __IAcadToolbar_FWD_DEFINED__
#define __IAcadToolbar_FWD_DEFINED__
typedef interface IAcadToolbar IAcadToolbar;

#endif 	/* __IAcadToolbar_FWD_DEFINED__ */


#ifndef __AcadToolbars_FWD_DEFINED__
#define __AcadToolbars_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadToolbars AcadToolbars;
#else
typedef struct AcadToolbars AcadToolbars;
#endif /* __cplusplus */

#endif 	/* __AcadToolbars_FWD_DEFINED__ */


#ifndef __IAcadToolbarItem_FWD_DEFINED__
#define __IAcadToolbarItem_FWD_DEFINED__
typedef interface IAcadToolbarItem IAcadToolbarItem;

#endif 	/* __IAcadToolbarItem_FWD_DEFINED__ */


#ifndef __AcadToolbar_FWD_DEFINED__
#define __AcadToolbar_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadToolbar AcadToolbar;
#else
typedef struct AcadToolbar AcadToolbar;
#endif /* __cplusplus */

#endif 	/* __AcadToolbar_FWD_DEFINED__ */


#ifndef __AcadToolbarItem_FWD_DEFINED__
#define __AcadToolbarItem_FWD_DEFINED__

#ifdef __cplusplus
typedef class AcadToolbarItem AcadToolbarItem;
#else
typedef struct AcadToolbarItem AcadToolbarItem;
#endif /* __cplusplus */

#endif 	/* __AcadToolbarItem_FWD_DEFINED__ */


#ifdef __cplusplus
extern "C"{
#endif 



#ifndef __AutoCAD_LIBRARY_DEFINED__
#define __AutoCAD_LIBRARY_DEFINED__

/* library AutoCAD */
/* [helpstringdll][lcid][helpstring][helpfile][version][uuid] */ 

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("166B286C-C5BA-44A7-8B6C-AA7988970365") 
enum AcBoolean
    {
        acFalse	= 0,
        acTrue	= 1
    } 	AcBoolean;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("EA88C465-B217-4CD6-B12B-5D0FAEF90B85") 
enum AcOnOff
    {
        acOff	= 0,
        acOn	= 1
    } 	AcOnOff;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("6953004E-AA4F-4A1C-8B95-6E53A6362218") 
enum AcEntityName
    {
        ac3dFace	= 1,
        ac3dPolyline	= 2,
        ac3dSolid	= 3,
        acArc	= 4,
        acAttribute	= 5,
        acAttributeReference	= 6,
        acBlockReference	= 7,
        acCircle	= 8,
        acDimAligned	= 9,
        acDimAngular	= 10,
        acDimDiametric	= 12,
        acDimOrdinate	= 13,
        acDimRadial	= 14,
        acDimRotated	= 15,
        acEllipse	= 16,
        acHatch	= 17,
        acLeader	= 18,
        acLine	= 19,
        acMtext	= 21,
        acPoint	= 22,
        acPolyline	= 23,
        acPolylineLight	= 24,
        acPolymesh	= 25,
        acRaster	= 26,
        acRay	= 27,
        acRegion	= 28,
        acShape	= 29,
        acSolid	= 30,
        acSpline	= 31,
        acText	= 32,
        acTolerance	= 33,
        acTrace	= 34,
        acPViewport	= 35,
        acXline	= 36,
        acGroup	= 37,
        acMInsertBlock	= 38,
        acPolyfaceMesh	= 39,
        acMLine	= 40,
        acDim3PointAngular	= 41,
        acExternalReference	= 42,
        acTable	= 43,
        acDimArcLength	= 44,
        acDimRadialLarge	= 45,
        acDwfUnderlay	= 46,
        acDgnUnderlay	= 47,
        acMLeader	= 48,
        acSubDMesh	= 49,
        acPdfUnderlay	= 50,
        acNurbSurface	= 51
    } 	AcEntityName;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C450DC85-AD08-4278-A617-8DD30012BF89") 
enum AcActiveSpace
    {
        acPaperSpace	= 0,
        acModelSpace	= 1
    } 	AcActiveSpace;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("82CB8CEC-E2E5-47EF-B2D4-CA3BFF4F134D") 
enum AcKeyboardAccelerator
    {
        acPreferenceClassic	= 0,
        acPreferenceCustom	= 1
    } 	AcKeyboardAccelerator;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("CC2A5B3E-8F19-4B5B-A1BD-DABF82AB77FB") 
enum AcPlotOrientation
    {
        acPlotOrientationPortrait	= 0,
        acPlotOrientationLandscape	= 1
    } 	AcPlotOrientation;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("E1BB8B04-E9EF-4BE5-BD68-F3AC9EA2F7AF") 
enum AcColor
    {
        acByBlock	= 0,
        acRed	= 1,
        acYellow	= 2,
        acGreen	= 3,
        acCyan	= 4,
        acBlue	= 5,
        acMagenta	= 6,
        acWhite	= 7,
        acByLayer	= 256
    } 	AcColor;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("7C56B95D-FD0B-4A6A-80CA-49073C274B17") 
enum AcAttachmentPoint
    {
        acAttachmentPointTopLeft	= 1,
        acAttachmentPointTopCenter	= 2,
        acAttachmentPointTopRight	= 3,
        acAttachmentPointMiddleLeft	= 4,
        acAttachmentPointMiddleCenter	= 5,
        acAttachmentPointMiddleRight	= 6,
        acAttachmentPointBottomLeft	= 7,
        acAttachmentPointBottomCenter	= 8,
        acAttachmentPointBottomRight	= 9
    } 	AcAttachmentPoint;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("8342D67C-6E59-46A6-A01F-43FB90E8E96B") 
enum AcDrawingDirection
    {
        acLeftToRight	= 1,
        acRightToLeft	= 2,
        acTopToBottom	= 3,
        acBottomToTop	= 4,
        acByStyle	= 5
    } 	AcDrawingDirection;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("E50446DA-339D-4217-940A-AB8BD9A4B49D") 
enum AcLeaderType
    {
        acLineNoArrow	= 0,
        acSplineNoArrow	= 1,
        acLineWithArrow	= 2,
        acSplineWithArrow	= 3
    } 	AcLeaderType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("19A84529-B81A-47DF-B33C-AF4C129F8CF4") 
enum AcAttributeMode
    {
        acAttributeModeNormal	= 0,
        acAttributeModeInvisible	= 1,
        acAttributeModeConstant	= 2,
        acAttributeModeVerify	= 4,
        acAttributeModePreset	= 8,
        acAttributeModeLockPosition	= 16,
        acAttributeModeMultipleLine	= 32
    } 	AcAttributeMode;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C7C2D658-45C0-45C4-84ED-21F2BF66D52E") 
enum AcHorizontalAlignment
    {
        acHorizontalAlignmentLeft	= 0,
        acHorizontalAlignmentCenter	= 1,
        acHorizontalAlignmentRight	= 2,
        acHorizontalAlignmentAligned	= 3,
        acHorizontalAlignmentMiddle	= 4,
        acHorizontalAlignmentFit	= 5
    } 	AcHorizontalAlignment;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("214FE304-B0A5-4A6E-AA0A-71DE7E742A12") 
enum AcVerticalAlignment
    {
        acVerticalAlignmentBaseline	= 0,
        acVerticalAlignmentBottom	= 1,
        acVerticalAlignmentMiddle	= 2,
        acVerticalAlignmentTop	= 3
    } 	AcVerticalAlignment;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("F1F28CEC-8150-41DD-8352-9B3D79CD9570") 
enum AcTextGenerationFlag
    {
        acTextFlagBackward	= 2,
        acTextFlagUpsideDown	= 4
    } 	AcTextGenerationFlag;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("3513A33B-6330-4279-B89B-C81C0D9DFB1B") 
enum AcSelect
    {
        acSelectionSetWindow	= 0,
        acSelectionSetCrossing	= 1,
        acSelectionSetFence	= 2,
        acSelectionSetPrevious	= 3,
        acSelectionSetLast	= 4,
        acSelectionSetAll	= 5,
        acSelectionSetWindowPolygon	= 6,
        acSelectionSetCrossingPolygon	= 7
    } 	AcSelect;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("1A7CFB6A-394F-4D72-AF69-176A10C7C967") 
enum AcPatternType
    {
        acHatchPatternTypeUserDefined	= 0,
        acHatchPatternTypePreDefined	= 1,
        acHatchPatternTypeCustomDefined	= 2
    } 	AcPatternType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("109184CE-4F6C-476E-902E-EEDF7655F419") 
enum AcLoopType
    {
        acHatchLoopTypeDefault	= 0,
        acHatchLoopTypeExternal	= 1,
        acHatchLoopTypePolyline	= 2,
        acHatchLoopTypeDerived	= 4,
        acHatchLoopTypeTextbox	= 8
    } 	AcLoopType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("91B17465-BB45-4132-B914-F49C5C605755") 
enum AcHatchStyle
    {
        acHatchStyleNormal	= 0,
        acHatchStyleOuter	= 1,
        acHatchStyleIgnore	= 2
    } 	AcHatchStyle;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("4A648430-2F27-4E0D-81BF-069D1ADFBB51") 
enum AcPolylineType
    {
        acSimplePoly	= 0,
        acFitCurvePoly	= 1,
        acQuadSplinePoly	= 2,
        acCubicSplinePoly	= 3
    } 	AcPolylineType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("CFCA7386-D9B1-4C65-8098-B3EB781D7BBE") 
enum Ac3DPolylineType
    {
        acSimple3DPoly	= 0,
        acQuadSpline3DPoly	= 1,
        acCubicSpline3DPoly	= 2
    } 	Ac3DPolylineType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("AF9238C9-F207-4464-9342-2781FA431793") 
enum AcViewportSplitType
    {
        acViewport2Horizontal	= 0,
        acViewport2Vertical	= 1,
        acViewport3Left	= 2,
        acViewport3Right	= 3,
        acViewport3Horizontal	= 4,
        acViewport3Vertical	= 5,
        acViewport3Above	= 6,
        acViewport3Below	= 7,
        acViewport4	= 8
    } 	AcViewportSplitType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("3C2E8122-5BE4-4A0D-8212-B2AF1A95A7D2") 
enum AcRegenType
    {
        acActiveViewport	= 0,
        acAllViewports	= 1
    } 	AcRegenType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("B648FC5E-BF40-4442-BECD-EBF6E82E2AB2") 
enum AcBooleanType
    {
        acUnion	= 0,
        acIntersection	= 1,
        acSubtraction	= 2
    } 	AcBooleanType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("7A4C5154-DCA5-4AB1-9B3E-42866E243789") 
enum AcExtendOption
    {
        acExtendNone	= 0,
        acExtendThisEntity	= 1,
        acExtendOtherEntity	= 2,
        acExtendBoth	= 3
    } 	AcExtendOption;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("4EA15FF0-37A9-4C26-9476-98C464F565E8") 
enum AcAngleUnits
    {
        acDegrees	= 0,
        acDegreeMinuteSeconds	= 1,
        acGrads	= 2,
        acRadians	= 3
    } 	AcAngleUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("FEE99099-7402-432B-AB23-30297BBD6268") 
enum AcUnits
    {
        acDefaultUnits	= -1,
        acScientific	= 1,
        acDecimal	= 2,
        acEngineering	= 3,
        acArchitectural	= 4,
        acFractional	= 5
    } 	AcUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("B0F81E9E-4E38-4FE6-BE6E-DB8DAFCA3C8D") 
enum AcCoordinateSystem
    {
        acWorld	= 0,
        acUCS	= 1,
        acDisplayDCS	= 2,
        acPaperSpaceDCS	= 3,
        acOCS	= 4
    } 	AcCoordinateSystem;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("E3806F0E-BEC6-4898-857C-08D92D30E598") 
enum AcMeasurementUnits
    {
        acEnglish	= 0,
        acMetric	= 1
    } 	AcMeasurementUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DAEC3FC1-9296-4A97-B9C3-0E6206B11BBD") 
enum AcXRefDemandLoad
    {
        acDemandLoadDisabled	= 0,
        acDemandLoadEnabled	= 1,
        acDemandLoadEnabledWithCopy	= 2
    } 	AcXRefDemandLoad;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("45C43642-53E1-416B-A0A6-C3FB2BD71310") 
enum AcPreviewMode
    {
        acPartialPreview	= 0,
        acFullPreview	= 1
    } 	AcPreviewMode;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("7893114F-8BB1-4F0F-A1E4-5B1411611621") 
enum AcPolymeshType
    {
        acSimpleMesh	= 0,
        acQuadSurfaceMesh	= 5,
        acCubicSurfaceMesh	= 6,
        acBezierSurfaceMesh	= 8
    } 	AcPolymeshType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9D4ECF9D-49F3-41AC-9649-E68792291A0A") 
enum AcZoomScaleType
    {
        acZoomScaledAbsolute	= 0,
        acZoomScaledRelative	= 1,
        acZoomScaledRelativePSpace	= 2
    } 	AcZoomScaleType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("FE628586-BA7B-4F16-B10A-027FBF12D351") 
enum AcDragDisplayMode
    {
        acDragDoNotDisplay	= 0,
        acDragDisplayOnRequest	= 1,
        acDragDisplayAutomatically	= 2
    } 	AcDragDisplayMode;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("6E3D073E-7B3B-4A31-8808-3017347D51D9") 
enum AcARXDemandLoad
    {
        acDemanLoadDisable	= 0,
        acDemandLoadOnObjectDetect	= 1,
        acDemandLoadCmdInvoke	= 2
    } 	AcARXDemandLoad;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("F004CA80-8804-4E96-81C0-F0E71685D5B4") 
enum AcTextFontStyle
    {
        acFontRegular	= 0,
        acFontItalic	= 1,
        acFontBold	= 2,
        acFontBoldItalic	= 3
    } 	AcTextFontStyle;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("65F4F171-CEF3-437A-823F-FF47C46DF3FF") 
enum AcProxyImage
    {
        acProxyNotShow	= 0,
        acProxyShow	= 1,
        acProxyBoundingBox	= 2
    } 	AcProxyImage;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("EECE570F-1254-406B-8165-F2FA447FF995") 
enum AcKeyboardPriority
    {
        acKeyboardRunningObjSnap	= 0,
        acKeyboardEntry	= 1,
        acKeyboardEntryExceptScripts	= 2
    } 	AcKeyboardPriority;

#define	acAmericanEnglish	( "enu" )

#define	acAustralianEnglish	( "ena" )

#define	acBritishEnglishIse	( "ens" )

#define	acBritishEnglishIze	( "enz" )

#define	acCatalan	( "ca" )

#define	acCzech	( "cs" )

#define	acDanish	( "da" )

#define	acDutchPrim	( "nl" )

#define	acDutchSec	( "nls" )

#define	acFinnish	( "fi" )

#define	acFrenchUnaccentCap	( "fr" )

#define	acFrenchAccentCap	( "fra" )

#define	acGermanScharfesS	( "de" )

#define	acGermanDoppleS	( "ded" )

#define	acItalian	( "it" )

#define	acNorwegianBokmal	( "no" )

#define	acNorwegianNynorsk	( "non" )

#define	acPortugueseIberian	( "pt" )

#define	acPortugueseBrazilian	( "ptb" )

#define	acRussianInfrequentIo	( "ru" )

#define	acRussianFrequentIo	( "rui" )

#define	acSpanishUnaccentCap	( "es" )

#define	acSpanishAccentCap	( "esa" )

#define	acSwedish	( "sv" )

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("D40A610A-DA7A-40FB-94E2-8D9A0C9C5423") 
enum AcMenuGroupType
    {
        acBaseMenuGroup	= 0,
        acPartialMenuGroup	= 1
    } 	AcMenuGroupType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("5566C2EB-DEF0-480A-B1AE-974DCEA2A9C4") 
enum AcMenuFileType
    {
        acMenuFileCompiled	= 0,
        acMenuFileSource	= 1
    } 	AcMenuFileType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("71D1CE08-17F5-4018-8571-A96324610725") 
enum AcMenuItemType
    {
        acMenuItem	= 0,
        acMenuSeparator	= 1,
        acMenuSubMenu	= 2
    } 	AcMenuItemType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("887BFB0F-4A97-41CD-8465-CB8FDB31E734") 
enum AcToolbarItemType
    {
        acToolbarButton	= 0,
        acToolbarSeparator	= 1,
        acToolbarControl	= 2,
        acToolbarFlyout	= 3
    } 	AcToolbarItemType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DED3F682-299E-4060-92A3-32FCB44BB5AD") 
enum AcToolbarDockStatus
    {
        acToolbarDockTop	= 0,
        acToolbarDockBottom	= 1,
        acToolbarDockLeft	= 2,
        acToolbarDockRight	= 3,
        acToolbarFloating	= 4
    } 	AcToolbarDockStatus;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("D6763371-1A1F-470B-BB3E-E2BDE160A90B") 
enum AcLineWeight
    {
        acLnWt000	= 0,
        acLnWt005	= 5,
        acLnWt009	= 9,
        acLnWt013	= 13,
        acLnWt015	= 15,
        acLnWt018	= 18,
        acLnWt020	= 20,
        acLnWt025	= 25,
        acLnWt030	= 30,
        acLnWt035	= 35,
        acLnWt040	= 40,
        acLnWt050	= 50,
        acLnWt053	= 53,
        acLnWt060	= 60,
        acLnWt070	= 70,
        acLnWt080	= 80,
        acLnWt090	= 90,
        acLnWt100	= 100,
        acLnWt106	= 106,
        acLnWt120	= 120,
        acLnWt140	= 140,
        acLnWt158	= 158,
        acLnWt200	= 200,
        acLnWt211	= 211,
        acLnWtByLayer	= -1,
        acLnWtByBlock	= -2,
        acLnWtByLwDefault	= -3
    } 	AcLineWeight;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("1BFDBDE5-2004-43CC-A271-8EE5AA80DD7D") 
enum AcWindowState
    {
        acNorm	= 1,
        acMin	= ( acNorm + 1 ) ,
        acMax	= ( acMin + 1 ) 
    } 	AcWindowState;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("20815E24-1225-46BC-911C-54245AFA0C55") 
enum AcPlotPaperUnits
    {
        acInches	= 0,
        acMillimeters	= ( acInches + 1 ) ,
        acPixels	= ( acMillimeters + 1 ) 
    } 	AcPlotPaperUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("7A8C7903-50E5-4743-B942-E0AFA2F3319F") 
enum AcPlotRotation
    {
        ac0degrees	= 0,
        ac90degrees	= ( ac0degrees + 1 ) ,
        ac180degrees	= ( ac90degrees + 1 ) ,
        ac270degrees	= ( ac180degrees + 1 ) 
    } 	AcPlotRotation;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C365074D-DF6F-44EE-B5AC-DB634F30165F") 
enum AcPlotType
    {
        acDisplay	= 0,
        acExtents	= ( acDisplay + 1 ) ,
        acLimits	= ( acExtents + 1 ) ,
        acView	= ( acLimits + 1 ) ,
        acWindow	= ( acView + 1 ) ,
        acLayout	= ( acWindow + 1 ) 
    } 	AcPlotType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("F9C0027F-8387-45F0-BC1A-AEFDB872099C") 
enum AcPlotScale
    {
        acScaleToFit	= 0,
        ac1_128in_1ft	= ( acScaleToFit + 1 ) ,
        ac1_64in_1ft	= ( ac1_128in_1ft + 1 ) ,
        ac1_32in_1ft	= ( ac1_64in_1ft + 1 ) ,
        ac1_16in_1ft	= ( ac1_32in_1ft + 1 ) ,
        ac3_32in_1ft	= ( ac1_16in_1ft + 1 ) ,
        ac1_8in_1ft	= ( ac3_32in_1ft + 1 ) ,
        ac3_16in_1ft	= ( ac1_8in_1ft + 1 ) ,
        ac1_4in_1ft	= ( ac3_16in_1ft + 1 ) ,
        ac3_8in_1ft	= ( ac1_4in_1ft + 1 ) ,
        ac1_2in_1ft	= ( ac3_8in_1ft + 1 ) ,
        ac3_4in_1ft	= ( ac1_2in_1ft + 1 ) ,
        ac1in_1ft	= ( ac3_4in_1ft + 1 ) ,
        ac3in_1ft	= ( ac1in_1ft + 1 ) ,
        ac6in_1ft	= ( ac3in_1ft + 1 ) ,
        ac1ft_1ft	= ( ac6in_1ft + 1 ) ,
        ac1_1	= ( ac1ft_1ft + 1 ) ,
        ac1_2	= ( ac1_1 + 1 ) ,
        ac1_4	= ( ac1_2 + 1 ) ,
        ac1_5	= ( ac1_4 + 1 ) ,
        ac1_8	= ( ac1_5 + 1 ) ,
        ac1_10	= ( ac1_8 + 1 ) ,
        ac1_16	= ( ac1_10 + 1 ) ,
        ac1_20	= ( ac1_16 + 1 ) ,
        ac1_30	= ( ac1_20 + 1 ) ,
        ac1_40	= ( ac1_30 + 1 ) ,
        ac1_50	= ( ac1_40 + 1 ) ,
        ac1_100	= ( ac1_50 + 1 ) ,
        ac2_1	= ( ac1_100 + 1 ) ,
        ac4_1	= ( ac2_1 + 1 ) ,
        ac8_1	= ( ac4_1 + 1 ) ,
        ac10_1	= ( ac8_1 + 1 ) ,
        ac100_1	= ( ac10_1 + 1 ) 
    } 	AcPlotScale;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("EFEB1B60-93DE-4EF5-A486-F202DACA9FBD") 
enum AcAlignment
    {
        acAlignmentLeft	= 0,
        acAlignmentCenter	= ( acAlignmentLeft + 1 ) ,
        acAlignmentRight	= ( acAlignmentCenter + 1 ) ,
        acAlignmentAligned	= ( acAlignmentRight + 1 ) ,
        acAlignmentMiddle	= ( acAlignmentAligned + 1 ) ,
        acAlignmentFit	= ( acAlignmentMiddle + 1 ) ,
        acAlignmentTopLeft	= ( acAlignmentFit + 1 ) ,
        acAlignmentTopCenter	= ( acAlignmentTopLeft + 1 ) ,
        acAlignmentTopRight	= ( acAlignmentTopCenter + 1 ) ,
        acAlignmentMiddleLeft	= ( acAlignmentTopRight + 1 ) ,
        acAlignmentMiddleCenter	= ( acAlignmentMiddleLeft + 1 ) ,
        acAlignmentMiddleRight	= ( acAlignmentMiddleCenter + 1 ) ,
        acAlignmentBottomLeft	= ( acAlignmentMiddleRight + 1 ) ,
        acAlignmentBottomCenter	= ( acAlignmentBottomLeft + 1 ) ,
        acAlignmentBottomRight	= ( acAlignmentBottomCenter + 1 ) 
    } 	AcAlignment;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("C4771C15-91CF-43C2-BDF4-4DD04D4FB01A") AcColor ACAD_COLOR;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("A7BC5CF8-FC64-4A4F-B1A9-9774DBD772A0") BSTR ACAD_LAYER;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("DA10ABA4-42A9-418D-89C6-BEA3686C4C8D") BSTR ACAD_LTYPE;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("9B37774F-C483-4E63-A161-C1BFB3755FC9") long ACAD_NULL;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("BF90F206-8A97-47D9-8D38-A6409BB5B4F4") double ACAD_DISTANCE;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("EA8D2DDF-DE3D-4577-B2A5-EDF6BACD3E51") double ACAD_ANGLE;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("DFECF7DD-970D-49A7-8A47-5165BF822D8F") AcLineWeight ACAD_LWEIGHT;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("723DB86F-9DA2-4338-B67F-7A6790C97EBC") double ACAD_NOUNITS;

typedef /* [public][uuid][helpcontext] */  DECLSPEC_UUID("FC6E570D-530E-4F50-BC81-635CE1A5F9C2") VARIANT ACAD_POINT;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("A00F108E-1015-45D7-8A05-6B3C4C7FEB9D") 
enum AcLineSpacingStyle
    {
        acLineSpacingStyleAtLeast	= 1,
        acLineSpacingStyleExactly	= 2
    } 	AcLineSpacingStyle;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0FA5E298-C254-4779-B8F7-2A5463E37E56") 
enum AcDimPrecision
    {
        acDimPrecisionZero	= 0,
        acDimPrecisionOne	= ( acDimPrecisionZero + 1 ) ,
        acDimPrecisionTwo	= ( acDimPrecisionOne + 1 ) ,
        acDimPrecisionThree	= ( acDimPrecisionTwo + 1 ) ,
        acDimPrecisionFour	= ( acDimPrecisionThree + 1 ) ,
        acDimPrecisionFive	= ( acDimPrecisionFour + 1 ) ,
        acDimPrecisionSix	= ( acDimPrecisionFive + 1 ) ,
        acDimPrecisionSeven	= ( acDimPrecisionSix + 1 ) ,
        acDimPrecisionEight	= ( acDimPrecisionSeven + 1 ) 
    } 	AcDimPrecision;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("BF54AD17-2017-41FE-8E1B-ABD42AA60314") 
enum AcDimUnits
    {
        acDimScientific	= 1,
        acDimDecimal	= ( acDimScientific + 1 ) ,
        acDimEngineering	= ( acDimDecimal + 1 ) ,
        acDimArchitecturalStacked	= ( acDimEngineering + 1 ) ,
        acDimFractionalStacked	= ( acDimArchitecturalStacked + 1 ) ,
        acDimArchitectural	= ( acDimFractionalStacked + 1 ) ,
        acDimFractional	= ( acDimArchitectural + 1 ) ,
        acDimWindowsDesktop	= ( acDimFractional + 1 ) 
    } 	AcDimUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("91B261D3-6966-49BC-BE13-0ABBF21E95E0") 
enum AcDimLUnits
    {
        acDimLScientific	= 1,
        acDimLDecimal	= ( acDimLScientific + 1 ) ,
        acDimLEngineering	= ( acDimLDecimal + 1 ) ,
        acDimLArchitectural	= ( acDimLEngineering + 1 ) ,
        acDimLFractional	= ( acDimLArchitectural + 1 ) ,
        acDimLWindowsDesktop	= ( acDimLFractional + 1 ) 
    } 	AcDimLUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("A675BCCB-5893-4555-A156-BFC17FF1D4E3") 
enum AcDimArrowheadType
    {
        acArrowDefault	= 0,
        acArrowClosedBlank	= 1,
        acArrowClosed	= 2,
        acArrowDot	= 3,
        acArrowArchTick	= 4,
        acArrowOblique	= 5,
        acArrowOpen	= 6,
        acArrowOrigin	= 7,
        acArrowOrigin2	= 8,
        acArrowOpen90	= 9,
        acArrowOpen30	= 10,
        acArrowDotSmall	= 11,
        acArrowDotBlank	= 12,
        acArrowSmall	= 13,
        acArrowBoxBlank	= 14,
        acArrowBoxFilled	= 15,
        acArrowDatumBlank	= 16,
        acArrowDatumFilled	= 17,
        acArrowIntegral	= 18,
        acArrowNone	= 19,
        acArrowUserDefined	= 20
    } 	AcDimArrowheadType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("578D5CDD-A3BF-4B05-B70E-CA9C9B700DF3") 
enum AcDimCenterType
    {
        acCenterMark	= 0,
        acCenterLine	= ( acCenterMark + 1 ) ,
        acCenterNone	= ( acCenterLine + 1 ) 
    } 	AcDimCenterType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("3F8C55D6-9E2E-4879-93B8-D9ADB8F2B79D") 
enum AcDimFit
    {
        acTextAndArrows	= 0,
        acArrowsOnly	= ( acTextAndArrows + 1 ) ,
        acTextOnly	= ( acArrowsOnly + 1 ) ,
        acBestFit	= ( acTextOnly + 1 ) 
    } 	AcDimFit;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2DEBAC04-6804-4D8A-A4B2-046B08FE10A2") 
enum AcDimFractionType
    {
        acHorizontal	= 0,
        acDiagonal	= ( acHorizontal + 1 ) ,
        acNotStacked	= ( acDiagonal + 1 ) 
    } 	AcDimFractionType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9A3699BA-05E7-46BD-95F1-BA216BADC111") 
enum AcDimArcLengthSymbol
    {
        acSymInFront	= 0,
        acSymAbove	= ( acSymInFront + 1 ) ,
        acSymNone	= ( acSymAbove + 1 ) 
    } 	AcDimArcLengthSymbol;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("73AF2B5A-8EE0-444A-88AE-E13465EEDCF6") 
enum AcDimHorizontalJustification
    {
        acHorzCentered	= 0,
        acFirstExtensionLine	= ( acHorzCentered + 1 ) ,
        acSecondExtensionLine	= ( acFirstExtensionLine + 1 ) ,
        acOverFirstExtension	= ( acSecondExtensionLine + 1 ) ,
        acOverSecondExtension	= ( acOverFirstExtension + 1 ) 
    } 	AcDimHorizontalJustification;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("EC341A9A-E0DB-4C7B-8AAE-42A6CB9E94F1") 
enum AcDimVerticalJustification
    {
        acVertCentered	= 0,
        acAbove	= ( acVertCentered + 1 ) ,
        acOutside	= ( acAbove + 1 ) ,
        acJIS	= ( acOutside + 1 ) ,
        acUnder	= ( acJIS + 1 ) 
    } 	AcDimVerticalJustification;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("4E5A06C3-B393-4A91-B05A-7B9E62A4AF7E") 
enum AcDimTextMovement
    {
        acDimLineWithText	= 0,
        acMoveTextAddLeader	= ( acDimLineWithText + 1 ) ,
        acMoveTextNoLeader	= ( acMoveTextAddLeader + 1 ) 
    } 	AcDimTextMovement;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C9941511-3D40-4F48-9E06-1B411B22836A") 
enum AcDimToleranceMethod
    {
        acTolNone	= 0,
        acTolSymmetrical	= ( acTolNone + 1 ) ,
        acTolDeviation	= ( acTolSymmetrical + 1 ) ,
        acTolLimits	= ( acTolDeviation + 1 ) ,
        acTolBasic	= ( acTolLimits + 1 ) 
    } 	AcDimToleranceMethod;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("3B895F2C-3D69-41A4-BD31-FE7DB7A65051") 
enum AcDimToleranceJustify
    {
        acTolBottom	= 0,
        acTolMiddle	= ( acTolBottom + 1 ) ,
        acTolTop	= ( acTolMiddle + 1 ) 
    } 	AcDimToleranceJustify;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("39992A73-2B05-4C42-AE5A-5C8D4D56D0EE") 
enum AcViewportScale
    {
        acVpScaleToFit	= 0,
        acVpCustomScale	= ( acVpScaleToFit + 1 ) ,
        acVp1_1	= ( acVpCustomScale + 1 ) ,
        acVp1_2	= ( acVp1_1 + 1 ) ,
        acVp1_4	= ( acVp1_2 + 1 ) ,
        acVp1_5	= ( acVp1_4 + 1 ) ,
        acVp1_8	= ( acVp1_5 + 1 ) ,
        acVp1_10	= ( acVp1_8 + 1 ) ,
        acVp1_16	= ( acVp1_10 + 1 ) ,
        acVp1_20	= ( acVp1_16 + 1 ) ,
        acVp1_30	= ( acVp1_20 + 1 ) ,
        acVp1_40	= ( acVp1_30 + 1 ) ,
        acVp1_50	= ( acVp1_40 + 1 ) ,
        acVp1_100	= ( acVp1_50 + 1 ) ,
        acVp2_1	= ( acVp1_100 + 1 ) ,
        acVp4_1	= ( acVp2_1 + 1 ) ,
        acVp8_1	= ( acVp4_1 + 1 ) ,
        acVp10_1	= ( acVp8_1 + 1 ) ,
        acVp100_1	= ( acVp10_1 + 1 ) ,
        acVp1_128in_1ft	= ( acVp100_1 + 1 ) ,
        acVp1_64in_1ft	= ( acVp1_128in_1ft + 1 ) ,
        acVp1_32in_1ft	= ( acVp1_64in_1ft + 1 ) ,
        acVp1_16in_1ft	= ( acVp1_32in_1ft + 1 ) ,
        acVp3_32in_1ft	= ( acVp1_16in_1ft + 1 ) ,
        acVp1_8in_1ft	= ( acVp3_32in_1ft + 1 ) ,
        acVp3_16in_1ft	= ( acVp1_8in_1ft + 1 ) ,
        acVp1_4in_1ft	= ( acVp3_16in_1ft + 1 ) ,
        acVp3_8in_1ft	= ( acVp1_4in_1ft + 1 ) ,
        acVp1_2in_1ft	= ( acVp3_8in_1ft + 1 ) ,
        acVp3_4in_1ft	= ( acVp1_2in_1ft + 1 ) ,
        acVp1in_1ft	= ( acVp3_4in_1ft + 1 ) ,
        acVp1and1_2in_1ft	= ( acVp1in_1ft + 1 ) ,
        acVp3in_1ft	= ( acVp1and1_2in_1ft + 1 ) ,
        acVp6in_1ft	= ( acVp3in_1ft + 1 ) ,
        acVp1ft_1ft	= ( acVp6in_1ft + 1 ) 
    } 	AcViewportScale;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0072E3DF-5001-432E-BAE3-578BFCA23341") 
enum AcISOPenWidth
    {
        acPenWidth013	= 13,
        acPenWidth018	= 18,
        acPenWidth025	= 25,
        acPenWidth035	= 35,
        acPenWidth050	= 50,
        acPenWidth070	= 70,
        acPenWidth100	= 100,
        acPenWidth140	= 140,
        acPenWidth200	= 200,
        acPenWidthUnk	= -1
    } 	AcISOPenWidth;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9C692064-A591-4911-BE35-755AA84C876B") 
enum AcSaveAsType
    {
        acUnknown	= -1,
        acR12_dxf	= 1,
        acR13_dwg	= 4,
        acR13_dxf	= 5,
        acR14_dwg	= 8,
        acR14_dxf	= 9,
        ac2000_dwg	= 12,
        ac2000_dxf	= 13,
        ac2000_Template	= 14,
        ac2004_dwg	= 24,
        ac2004_dxf	= 25,
        ac2004_Template	= 26,
        ac2007_dwg	= 36,
        ac2007_dxf	= 37,
        ac2007_Template	= 38,
        ac2010_dwg	= 48,
        ac2010_dxf	= 49,
        ac2010_Template	= 50,
        ac2013_dwg	= 60,
        ac2013_dxf	= 61,
        ac2013_Template	= 62,
        acNative	= ac2013_dwg,
        acR15_dwg	= ac2000_dwg,
        acR15_dxf	= ac2000_dxf,
        acR15_Template	= ac2000_Template,
        acR18_dwg	= ac2004_dwg,
        acR18_dxf	= ac2004_dxf,
        acR18_Template	= ac2004_Template
    } 	AcSaveAsType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("461CD9ED-926A-435C-9B37-EA9F6B0CD073") 
enum AcPrinterSpoolAlert
    {
        acPrinterAlwaysAlert	= 0,
        acPrinterAlertOnce	= ( acPrinterAlwaysAlert + 1 ) ,
        acPrinterNeverAlertLogOnce	= ( acPrinterAlertOnce + 1 ) ,
        acPrinterNeverAlert	= ( acPrinterNeverAlertLogOnce + 1 ) 
    } 	AcPrinterSpoolAlert;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C7BC1317-5CBB-463C-BAA9-45B06B5C9A1C") 
enum AcPlotPolicyForNewDwgs
    {
        acPolicyNewDefault	= 0,
        acPolicyNewLegacy	= ( acPolicyNewDefault + 1 ) 
    } 	AcPlotPolicyForNewDwgs;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("D10F8CDC-A904-45E0-8EB6-9328A897BF3A") 
enum AcPlotPolicyForLegacyDwgs
    {
        acPolicyLegacyDefault	= 0,
        acPolicyLegacyQuery	= ( acPolicyLegacyDefault + 1 ) ,
        acPolicyLegacyLegacy	= ( acPolicyLegacyQuery + 1 ) 
    } 	AcPlotPolicyForLegacyDwgs;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("5D3E9420-C9FD-4649-BB76-290E952083E1") 
enum AcOleQuality
    {
        acOQLineArt	= 0,
        acOQText	= ( acOQLineArt + 1 ) ,
        acOQGraphics	= ( acOQText + 1 ) ,
        acOQPhoto	= ( acOQGraphics + 1 ) ,
        acOQHighPhoto	= ( acOQPhoto + 1 ) 
    } 	AcOleQuality;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("64FA54EE-C8B3-4BA6-9343-83563FF55209") 
enum AcLoadPalette
    {
        acPaletteByDrawing	= 0,
        acPaletteBySession	= ( acPaletteByDrawing + 1 ) 
    } 	AcLoadPalette;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("979F39BE-A988-40EC-B140-7C2752734F87") 
enum AcInsertUnits
    {
        acInsertUnitsUnitless	= 0,
        acInsertUnitsInches	= ( acInsertUnitsUnitless + 1 ) ,
        acInsertUnitsFeet	= ( acInsertUnitsInches + 1 ) ,
        acInsertUnitsMiles	= ( acInsertUnitsFeet + 1 ) ,
        acInsertUnitsMillimeters	= ( acInsertUnitsMiles + 1 ) ,
        acInsertUnitsCentimeters	= ( acInsertUnitsMillimeters + 1 ) ,
        acInsertUnitsMeters	= ( acInsertUnitsCentimeters + 1 ) ,
        acInsertUnitsKilometers	= ( acInsertUnitsMeters + 1 ) ,
        acInsertUnitsMicroinches	= ( acInsertUnitsKilometers + 1 ) ,
        acInsertUnitsMils	= ( acInsertUnitsMicroinches + 1 ) ,
        acInsertUnitsYards	= ( acInsertUnitsMils + 1 ) ,
        acInsertUnitsAngstroms	= ( acInsertUnitsYards + 1 ) ,
        acInsertUnitsNanometers	= ( acInsertUnitsAngstroms + 1 ) ,
        acInsertUnitsMicrons	= ( acInsertUnitsNanometers + 1 ) ,
        acInsertUnitsDecimeters	= ( acInsertUnitsMicrons + 1 ) ,
        acInsertUnitsDecameters	= ( acInsertUnitsDecimeters + 1 ) ,
        acInsertUnitsHectometers	= ( acInsertUnitsDecameters + 1 ) ,
        acInsertUnitsGigameters	= ( acInsertUnitsHectometers + 1 ) ,
        acInsertUnitsAstronomicalUnits	= ( acInsertUnitsGigameters + 1 ) ,
        acInsertUnitsLightYears	= ( acInsertUnitsAstronomicalUnits + 1 ) ,
        acInsertUnitsParsecs	= ( acInsertUnitsLightYears + 1 ) 
    } 	AcInsertUnits;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2F7BB220-4DDC-46EA-9F5B-DD276DDB2D70") 
enum AcAlignmentPointAcquisition
    {
        acAlignPntAcquisitionAutomatic	= 0,
        acAlignPntAcquisitionShiftToAcquire	= ( acAlignPntAcquisitionAutomatic + 1 ) 
    } 	AcAlignmentPointAcquisition;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2B14C79F-A694-47A0-8909-FE5AEF448CA1") 
enum AcInsertUnitsAction
    {
        acInsertUnitsPrompt	= 0,
        acInsertUnitsAutoAssign	= ( acInsertUnitsPrompt + 1 ) 
    } 	AcInsertUnitsAction;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("98665628-AD11-4E82-ACB4-C4F0629A104A") 
enum AcPlotPolicy
    {
        acPolicyNamed	= 0,
        acPolicyLegacy	= ( acPolicyNamed + 1 ) 
    } 	AcPlotPolicy;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("A3AEB96C-BE40-4069-8FEA-9D834EB2D08A") 
enum AcDrawingAreaShortCutMenu
    {
        acNoDrawingAreaShortCutMenu	= 0,
        acUseDefaultDrawingAreaShortCutMenu	= ( acNoDrawingAreaShortCutMenu + 1 ) 
    } 	AcDrawingAreaShortCutMenu;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C99DC9A6-E09D-4D7D-A6D7-97AD58C2F1B6") 
enum AcDrawingAreaSCMDefault
    {
        acRepeatLastCommand	= 0,
        acSCM	= ( acRepeatLastCommand + 1 ) 
    } 	AcDrawingAreaSCMDefault;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("36153FE7-AE8F-4DA7-8F7C-5DB6BAF69430") 
enum AcDrawingAreaSCMEdit
    {
        acEdRepeatLastCommand	= 0,
        acEdSCM	= ( acEdRepeatLastCommand + 1 ) 
    } 	AcDrawingAreaSCMEdit;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0A90E725-EE23-43C6-B8C9-F862E50466EF") 
enum AcDrawingAreaSCMCommand
    {
        acEnter	= 0,
        acEnableSCMOptions	= ( acEnter + 1 ) ,
        acEnableSCM	= ( acEnableSCMOptions + 1 ) 
    } 	AcDrawingAreaSCMCommand;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9A2B781B-7BEA-4F88-9E6A-7F7BFB17307B") 
enum AcLayerStateMask
    {
        acLsNone	= 0,
        acLsOn	= 0x1,
        acLsFrozen	= 0x2,
        acLsLocked	= 0x4,
        acLsPlot	= 0x8,
        acLsNewViewport	= 0x10,
        acLsColor	= 0x20,
        acLsLineType	= 0x40,
        acLsLineWeight	= 0x80,
        acLsPlotStyle	= 0x100,
        acLsAll	= 0xffff
    } 	AcLayerStateMask;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("BDA81D83-E25B-46F0-95C5-8B9CE7D0DDD6") 
enum AcShadePlot
    {
        acShadePlotAsDisplayed	= 0,
        acShadePlotWireframe	= ( acShadePlotAsDisplayed + 1 ) ,
        acShadePlotHidden	= ( acShadePlotWireframe + 1 ) ,
        acShadePlotRendered	= ( acShadePlotHidden + 1 ) 
    } 	AcShadePlot;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DBFB42BB-D618-40E6-8B88-0C9D2AF1A6E3") 
enum AcHatchObjectType
    {
        acHatchObject	= 0,
        acGradientObject	= 1
    } 	AcHatchObjectType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("A90C23BD-B051-4003-AD30-22112ECB15FF") 
enum AcGradientPatternType
    {
        acPreDefinedGradient	= 0,
        acUserDefinedGradient	= 1
    } 	AcGradientPatternType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2CF6EFC2-12BE-4D6D-80ED-7F8C22910FE5") 
enum AcTableDirection
    {
        acTableTopToBottom	= 0,
        acTableBottomToTop	= 1
    } 	AcTableDirection;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("FED89035-C89D-4AF2-A380-CBC837A4B4FA") 
enum AcCellAlignment
    {
        acTopLeft	= 1,
        acTopCenter	= 2,
        acTopRight	= 3,
        acMiddleLeft	= 4,
        acMiddleCenter	= 5,
        acMiddleRight	= 6,
        acBottomLeft	= 7,
        acBottomCenter	= 8,
        acBottomRight	= 9
    } 	AcCellAlignment;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DC0CB7E6-EBA0-44EA-B9EB-3B715AF67A21") 
enum AcRowType
    {
        acUnknownRow	= 0,
        acDataRow	= 1,
        acTitleRow	= 2,
        acHeaderRow	= 4
    } 	AcRowType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("72422D8D-3931-4734-BD86-705BFE9EECE0") 
enum AcValueDataType
    {
        acUnknownDataType	= 0,
        acLong	= ( 0x1 << 0 ) ,
        acDouble	= ( 0x1 << 1 ) ,
        acString	= ( 0x1 << 2 ) ,
        acDate	= ( 0x1 << 3 ) ,
        acPoint2d	= ( 0x1 << 4 ) ,
        acPoint3d	= ( 0x1 << 5 ) ,
        acObjectId	= ( 0x1 << 6 ) ,
        acBuffer	= ( 0x1 << 7 ) ,
        acResbuf	= ( 0x1 << 8 ) ,
        acGeneral	= ( 0x1 << 9 ) 
    } 	AcValueDataType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("EA91921F-7BE8-44D1-9322-AC7D97B4A019") 
enum AcValueUnitType
    {
        acUnitless	= 0,
        acUnitDistance	= ( 0x1 << 0 ) ,
        acUnitAngle	= ( 0x1 << 1 ) ,
        acUnitArea	= ( 0x1 << 2 ) ,
        acUnitVolume	= ( 0x1 << 3 ) 
    } 	AcValueUnitType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("1C53EB15-2CA3-482C-92A9-EE4632086C72") 
enum AcParseOption
    {
        acParseOptionNone	= 0,
        acSetDefaultFormat	= ( 0x1 << 0 ) ,
        acPreserveMtextFormat	= ( 0x1 << 1 ) 
    } 	AcParseOption;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("D80D9890-3EB8-4503-9B42-167F258CC9DB") 
enum AcFormatOption
    {
        kFormatOptionNone	= 0,
        acForEditing	= ( 0x1 << 0 ) ,
        acForExpression	= ( 0x1 << 1 ) ,
        acUseMaximumPrecision	= ( 0x1 << 2 ) ,
        acIgnoreMtextFormat	= ( 0x1 << 3 ) 
    } 	AcFormatOption;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("B4EE5EA1-042B-40CE-84C7-02588CA81817") 
enum AcGridLineType
    {
        acInvalidGridLine	= 0,
        acHorzTop	= 1,
        acHorzInside	= 2,
        acHorzBottom	= 4,
        acVertLeft	= 8,
        acVertInside	= 0x10,
        acVertRight	= 0x20
    } 	AcGridLineType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("D0AF4CF6-08A9-43D5-BD3F-264DC785BAB3") 
enum AcCellType
    {
        acUnknownCell	= 0,
        acTextCell	= 1,
        acBlockCell	= 2
    } 	AcCellType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("71914344-9233-464F-BEBA-8B3C6F0D0618") 
enum AcCellEdgeMask
    {
        acTopMask	= 1,
        acRightMask	= 2,
        acBottomMask	= 4,
        acLeftMask	= 8
    } 	AcCellEdgeMask;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("A8155744-7114-44F2-B63B-AC7DD9A46F50") 
enum AcRotationAngle
    {
        acDegreesUnknown	= -1,
        acDegrees000	= 0,
        acDegrees090	= 1,
        acDegrees180	= 2,
        acDegrees270	= 3
    } 	AcRotationAngle;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2A33F481-806F-4C54-A024-698B84E8251A") 
enum AcMergeCellStyleOption
    {
        acMergeCellStyleNone	= 0,
        acMergeCellStyleCopyDuplicates	= 0x1,
        acMergeCellStyleOverwriteDuplicates	= 0x2,
        acMergeCellStyleConvertDuplicatesToOverrides	= 0x4,
        acMergeCellStyleIgnoreNewStyles	= 0x8
    } 	AcMergeCellStyleOption;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("934942C9-1602-4767-B142-48C0A4161921") 
enum AcSelectType
    {
        acTableSelectWindow	= 1,
        acTableSelectCrossing	= 2
    } 	AcSelectType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("88391878-DBA3-43A2-801B-744B228AB59B") 
enum AcOleType
    {
        acOTLink	= 1,
        acOTEmbedded	= 2,
        acOTStatic	= 3
    } 	AcOleType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("FAFBB84D-37EA-48D4-8D13-0AFA015480CE") 
enum AcOlePlotQuality
    {
        acOPQMonochrome	= 0,
        acOPQLowGraphics	= ( acOPQMonochrome + 1 ) ,
        acOPQHighGraphics	= ( acOPQLowGraphics + 1 ) 
    } 	AcOlePlotQuality;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("044B153C-1A12-4BA8-82CF-8560A8AE8D4A") 
enum AcTableStyleOverrides
    {
        acTitleSuppressed	= 1,
        acHeaderSuppressed	= 2,
        acFlowDirection	= 3,
        acHorzCellMargin	= 4,
        acVertCellMargin	= 5,
        acTitleRowColor	= 6,
        acHeaderRowColor	= 7,
        acDataRowColor	= 8,
        acTitleRowFillNone	= 9,
        acHeaderRowFillNone	= 10,
        acDataRowFillNone	= 11,
        acTitleRowFillColor	= 12,
        acHeaderRowFillColor	= 13,
        acDataRowFillColor	= 14,
        acTitleRowAlignment	= 15,
        acHeaderRowAlignment	= 16,
        acDataRowAlignment	= 17,
        acTitleRowTextStyle	= 18,
        acHeaderRowTextStyle	= 19,
        acDataRowTextStyle	= 20,
        acTitleRowTextHeight	= 21,
        acHeaderRowTextHeight	= 22,
        acDataRowTextHeight	= 23,
        acTitleRowDataType	= 24,
        acHeaderRowDataType	= 25,
        acDataRowDataType	= 26,
        acTitleHorzTopColor	= 40,
        acTitleHorzInsideColor	= 41,
        acTitleHorzBottomColor	= 42,
        acTitleVertLeftColor	= 43,
        acTitleVertInsideColor	= 44,
        acTitleVertRightColor	= 45,
        acHeaderHorzTopColor	= 46,
        acHeaderHorzInsideColor	= 47,
        acHeaderHorzBottomColor	= 48,
        acHeaderVertLeftColor	= 49,
        acHeaderVertInsideColor	= 50,
        acHeaderVertRightColor	= 51,
        acDataHorzTopColor	= 52,
        acDataHorzInsideColor	= 53,
        acDataHorzBottomColor	= 54,
        acDataVertLeftColor	= 55,
        acDataVertInsideColor	= 56,
        acDataVertRightColor	= 57,
        acTitleHorzTopLineWeight	= 70,
        acTitleHorzInsideLineWeight	= 71,
        acTitleHorzBottomLineWeight	= 72,
        acTitleVertLeftLineWeight	= 73,
        acTitleVertInsideLineWeight	= 74,
        acTitleVertRightLineWeight	= 75,
        acHeaderHorzTopLineWeight	= 76,
        acHeaderHorzInsideLineWeight	= 77,
        acHeaderHorzBottomLineWeight	= 78,
        acHeaderVertLeftLineWeight	= 79,
        acHeaderVertInsideLineWeight	= 80,
        acHeaderVertRightLineWeight	= 81,
        acDataHorzTopLineWeight	= 82,
        acDataHorzInsideLineWeight	= 83,
        acDataHorzBottomLineWeight	= 84,
        acDataVertLeftLineWeight	= 85,
        acDataVertInsideLineWeight	= 86,
        acDataVertRightLineWeight	= 87,
        acTitleHorzTopVisibility	= 100,
        acTitleHorzInsideVisibility	= 101,
        acTitleHorzBottomVisibility	= 102,
        acTitleVertLeftVisibility	= 103,
        acTitleVertInsideVisibility	= 104,
        acTitleVertRightVisibility	= 105,
        acHeaderHorzTopVisibility	= 106,
        acHeaderHorzInsideVisibility	= 107,
        acHeaderHorzBottomVisibility	= 108,
        acHeaderVertLeftVisibility	= 109,
        acHeaderVertInsideVisibility	= 110,
        acHeaderVertRightVisibility	= 111,
        acDataHorzTopVisibility	= 112,
        acDataHorzInsideVisibility	= 113,
        acDataHorzBottomVisibility	= 114,
        acDataVertLeftVisibility	= 115,
        acDataVertInsideVisibility	= 116,
        acDataVertRightVisibility	= 117,
        acCellAlign	= 130,
        acCellBackgroundFillNone	= 131,
        acCellBackgroundColor	= 132,
        acCellContentColor	= 133,
        acCellTextStyle	= 134,
        acCellTextHeight	= 135,
        acCellTopGridColor	= 136,
        acCellRightGridColor	= 137,
        acCellBottomGridColor	= 138,
        acCellLeftGridColor	= 139,
        acCellTopGridLineWeight	= 140,
        acCellRightGridLineWeight	= 141,
        acCellBottomGridLineWeight	= 142,
        acCellLeftGridLineWeight	= 143,
        acCellTopVisibility	= 144,
        acCellRightVisibility	= 145,
        acCellBottomVisibility	= 146,
        acCellLeftVisibility	= 147,
        acCellDataType	= 148
    } 	AcTableStyleOverrides;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("FB825185-BBAD-42C0-9A71-5A29E9B1FDE5") 
enum AcMLineJustification
    {
        acTop	= 0,
        acZero	= 1,
        acBottom	= 2
    } 	AcMLineJustification;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C872F5EC-45EC-447E-9F3D-8F2DE3AACB28") 
enum AcBlockScaling
    {
        acAny	= 0,
        acUniform	= 1
    } 	AcBlockScaling;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("40B0DD57-09EF-4A84-9268-860ED29F1E77") 
enum AcDynamicBlockReferencePropertyUnitsType
    {
        acNoUnits	= 0,
        acAngular	= 1,
        acDistance	= 2,
        acArea	= 3
    } 	AcDynamicBlockReferencePropertyUnitsType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("00F69801-F9AD-427F-86DF-39E201524495") 
enum AcSectionState
    {
        acSectionStatePlane	= ( 0x1 << 0 ) ,
        acSectionStateBoundary	= ( 0x1 << 1 ) ,
        acSectionStateVolume	= ( 0x1 << 2 ) 
    } 	AcSectionState;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9B5AB2FD-869A-4C79-B83E-2FF7C887D6AC") 
enum AcSectionState2
    {
        acSectionState2Plane	= ( 0x1 << 0 ) ,
        acSectionState2Slice	= ( 0x1 << 1 ) ,
        acSectionState2Boundary	= ( 0x1 << 2 ) ,
        acSectionState2Volume	= ( 0x1 << 3 ) 
    } 	AcSectionState2;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("97D7FF39-A682-4485-A7BF-7511889E0377") 
enum AcSectionSubItem
    {
        acSectionSubItemkNone	= 0,
        acSectionSubItemSectionLine	= ( 0x1 << 0 ) ,
        acSectionSubItemSectionLineTop	= ( 0x1 << 1 ) ,
        acSectionSubItemSectionLineBottom	= ( 0x1 << 2 ) ,
        acSectionSubItemBackLine	= ( 0x1 << 3 ) ,
        acSectionSubItemBackLineTop	= ( 0x1 << 4 ) ,
        acSectionSubItemBackLineBottom	= ( 0x1 << 5 ) ,
        acSectionSubItemVerticalLineTop	= ( 0x1 << 6 ) ,
        acSectionSubItemVerticalLineBottom	= ( 0x1 << 7 ) 
    } 	AcSectionSubItem;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("07BFFF7F-53ED-4D1D-8EA3-F2AD3E95B07C") 
enum AcSectionType
    {
        acSectionTypeLiveSection	= ( 0x1 << 0 ) ,
        acSectionType2dSection	= ( 0x1 << 1 ) ,
        acSectionType3dSection	= ( 0x1 << 2 ) 
    } 	AcSectionType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0BC0B106-0BB1-42DF-A0F1-992C55D3B8B7") 
enum AcSectionGeneration
    {
        acSectionGenerationSourceAllObjects	= ( 0x1 << 0 ) ,
        acSectionGenerationSourceSelectedObjects	= ( 0x1 << 1 ) ,
        acSectionGenerationDestinationNewBlock	= ( 0x1 << 4 ) ,
        acSectionGenerationDestinationReplaceBlock	= ( 0x1 << 5 ) ,
        acSectionGenerationDestinationFile	= ( 0x1 << 6 ) 
    } 	AcSectionGeneration;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("7EB95F70-818C-48B3-8AC5-D6E30174C58C") 
enum AcHelixConstrainType
    {
        acTurnHeight	= 0,
        acTurns	= 1,
        acHeight	= 2
    } 	AcHelixConstrainType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("00AFB97B-81E4-4BBA-BF4B-6F4CF95F9C39") 
enum AcShadowDisplayType
    {
        acCastsAndReceivesShadows	= 0,
        acCastsShadows	= 1,
        acReceivesShadows	= 2,
        acIgnoreShadows	= 3
    } 	AcShadowDisplayType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C6686C84-7D67-4361-B457-8F13F0272917") 
enum AcLoftedSurfaceNormalType
    {
        acRuled	= 0,
        acSmooth	= 1,
        acFirstNormal	= 2,
        acLastNormal	= 3,
        acEndsNormal	= 4,
        acAllNormal	= 5,
        acUseDraftAngles	= 6
    } 	AcLoftedSurfaceNormalType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0E58ED24-83D7-4863-98B9-4172F0A7C881") 
enum AcHelixTwistType
    {
        acCCW	= 0,
        acCW	= 1
    } 	AcHelixTwistType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("53CC232E-DFBA-4617-BAB0-DC3623ABACAF") 
enum AcUnderlayLayerOverrideType
    {
        acNoOverrides	= 0,
        acApplied	= 1
    } 	AcUnderlayLayerOverrideType;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("0C66B867-69DE-42B0-AABB-3F948427E3D4") 
enum AcTableFlowDirection
    {
        acTableFlowRight	= 0x1,
        acTableFlowDownOrUp	= 0x2,
        acTableFlowLeft	= 0x4
    } 	AcTableFlowDirection;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("653696C5-C705-4F81-950C-E7DE1270515C") 
enum AcCellMargin
    {
        acCellMarginTop	= 0x1,
        acCellMarginLeft	= 0x2,
        acCellMarginBottom	= 0x4,
        acCellMarginRight	= 0x8,
        acCellMarginHorzSpacing	= 0x10,
        acCellMarginVertSpacing	= 0x20
    } 	AcCellMargin;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("7882EE9A-BA2C-4128-987F-65F66970EAED") 
enum AcCellContentLayout
    {
        acCellContentLayoutFlow	= 0x1,
        acCellContentLayoutStackedHorizontal	= 0x2,
        acCellContentLayoutStackedVertical	= 0x4
    } 	AcCellContentLayout;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("CFF086D6-8240-4161-8B30-77B47182C179") 
enum AcCellProperty
    {
        acInvalidCellProperty	= 0,
        acLock	= ( 0x1 << 0 ) ,
        acDataType	= ( 0x1 << 1 ) ,
        acDataFormat	= ( 0x1 << 2 ) ,
        acRotation	= ( 0x1 << 3 ) ,
        acScale	= ( 0x1 << 4 ) ,
        acAlignmentProperty	= ( 0x1 << 5 ) ,
        acContentColor	= ( 0x1 << 6 ) ,
        acBackgroundColor	= ( 0x1 << 7 ) ,
        acTextStyle	= ( 0x1 << 8 ) ,
        acTextHeight	= ( 0x1 << 9 ) ,
        acMarginLeft	= ( 0x1 << 10 ) ,
        acMarginTop	= ( 0x1 << 11 ) ,
        acMarginRight	= ( 0x1 << 12 ) ,
        acMarginBottom	= ( 0x1 << 13 ) ,
        acEnableBackgroundColor	= ( 0x1 << 14 ) ,
        acAutoScale	= ( 0x1 << 15 ) ,
        acMergeAll	= ( 0x1 << 16 ) ,
        acFlowDirBtoT	= ( 0x1 << 17 ) ,
        acContentLayout	= ( 0x1 << 18 ) ,
        acDataTypeAndFormat	= ( acDataType | acDataFormat ) ,
        acContentProperties	= ( ( ( ( ( ( ( ( acDataType | acDataFormat )  | acRotation )  | acScale )  | acAlignmentProperty )  | acContentColor )  | acTextStyle )  | acTextHeight )  | acAutoScale ) ,
        acBitProperties	= ( ( ( acEnableBackgroundColor | acAutoScale )  | acMergeAll )  | acFlowDirBtoT ) ,
        acAllCellProperties	= ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( acLock | acDataType )  | acDataFormat )  | acRotation )  | acScale )  | acAlignmentProperty )  | acContentColor )  | acBackgroundColor )  | acTextStyle )  | acTextHeight )  | acMarginLeft )  | acMarginTop )  | acMarginRight )  | acMarginBottom )  | acEnableBackgroundColor )  | acAutoScale )  | acMergeAll )  | acFlowDirBtoT )  | acContentLayout ) 
    } 	AcCellProperty;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("F4AD5674-F45C-4CCB-988E-9A936CF2CD52") 
enum AcGridLineStyle
    {
        acGridLineStyleSingle	= 1,
        acGridLineStyleDouble	= 2
    } 	AcGridLineStyle;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("29333668-C44A-4560-A17F-E5374DD6C4D2") 
enum AcDataLinkUpdateDirection
    {
        acUpdateDataFromSource	= 0x1,
        acUpdateSourceFromData	= 0x2
    } 	AcDataLinkUpdateDirection;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("4CE52DB7-0273-40E6-8711-31936E425BE3") 
enum AcDataLinkUpdateOption
    {
        acUpdateOptionNone	= 0,
        acUpdateOptionOverwriteContentModifiedAfterUpdate	= 0x20000,
        acUpdateOptionOverwriteFormatModifiedAfterUpdate	= 0x40000,
        acUpdateOptionUpdateFullSourceRange	= 0x80000,
        acUpdateOptionIncludeXrefs	= 0x100000
    } 	AcDataLinkUpdateOption;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("97BE9227-340C-4B5F-908A-BA360D08538D") 
enum AcCellContentType
    {
        acCellContentTypeUnknown	= 0,
        acCellContentTypeValue	= ( 0x1 << 0 ) ,
        acCellContentTypeField	= ( 0x1 << 1 ) ,
        acCellContentTypeBlock	= ( 0x1 << 2 ) 
    } 	AcCellContentType;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("98926448-4267-4F4D-97EF-40569C489F15") 
enum AcCellState
    {
        acCellStateNone	= 0,
        acCellStateContentLocked	= 0x1,
        acCellStateContentReadOnly	= 0x2,
        acCellStateFormatLocked	= 0x4,
        acCellStateFormatReadOnly	= 0x8,
        acCellStateLinked	= 0x10,
        acCellStateContentModified	= 0x20,
        acCellStateFormatModified	= 0x40
    } 	AcCellState;

typedef /* [v1_enum][uuid] */  DECLSPEC_UUID("EB43AE79-1320-44BF-800F-E4789DEFA3EC") 
enum AcCellOption
    {
        kCellOptionNone	= 0,
        kInheritCellFormat	= 0x1
    } 	AcCellOption;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("C7EA4F57-0305-497D-8FCD-970FA348CA8A") 
enum AcTextAttachmentType
    {
        acAttachmentTopOfTop	= 0,
        acAttachmentMiddleOfTop	= 1,
        acAttachmentBottomOfTop	= 2,
        acAttachmentBottomOfTopLine	= 3,
        acAttachmentMiddle	= 4,
        acAttachmentMiddleOfBottom	= 5,
        acAttachmentBottomOfBottom	= 6,
        acAttachmentBottomLine	= 7,
        acAttachmentAllLine	= 8
    } 	AcTextAttachmentType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DC6698D2-EF05-4AF1-807D-C7C4D4B1762B") 
enum AcMLeaderType
    {
        acStraightLeader	= 1,
        acSplineLeader	= 2,
        acInVisibleLeader	= 0
    } 	AcMLeaderType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("DD6EA38A-AEFC-4A1C-B31C-D828CC4CD467") 
enum AcMLeaderContentType
    {
        acNoneContent	= 0,
        acBlockContent	= 1,
        acMTextContent	= 2
    } 	AcMLeaderContentType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("F2CB5AA4-C7B7-4F78-ABBC-357E28E077EF") 
enum AcTextAlignmentType
    {
        acLeftAlignment	= 0,
        acCenterAlignment	= 1,
        acRightAlignment	= 2
    } 	AcTextAlignmentType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("CAFECCEF-4431-4E9C-ACCE-348D2DEA3CDE") 
enum AcTextAngleType
    {
        acInsertAngle	= 0,
        acHorizontalAngle	= 1,
        acAlwaysRightReadingAngle	= 2
    } 	AcTextAngleType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("9DEF5CDE-705E-482E-A671-EB7C28EE35B7") 
enum AcBlockConnectionType
    {
        acConnectExtents	= 0,
        acConnectBase	= 1
    } 	AcBlockConnectionType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("65237E7C-BEBF-44E5-995D-52704F4B683C") 
enum AcPredefBlockType
    {
        acBlockImperial	= 0,
        acBlockSlot	= 1,
        acBlockCircle	= 2,
        acBlockBox	= 3,
        acBlockHexagon	= 4,
        acBlockTriangle	= 5,
        acBlockUserDefined	= 6
    } 	AcPredefBlockType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("0648A03A-F72C-4BFB-92C4-E459D87F9C63") 
enum AcDrawLeaderOrderType
    {
        acDrawLeaderHeadFirst	= 0,
        acDrawLeaderTailFirst	= 1
    } 	AcDrawLeaderOrderType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("92A134A8-24F0-47F7-B0BD-28390F608903") 
enum AcDrawMLeaderOrderType
    {
        acDrawContentFirst	= 0,
        acDrawLeaderFirst	= 1
    } 	AcDrawMLeaderOrderType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("ED395B50-66A8-48B1-A4CB-B0E8B5FAD0EF") 
enum AcSegmentAngleType
    {
        acDegreesAny	= 0,
        acDegrees15	= 1,
        acDegrees30	= 2,
        acDegrees45	= 3,
        acDegrees60	= 4,
        acDegrees90	= 6,
        acDegreesHorz	= 12
    } 	AcSegmentAngleType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("8CCAC658-ABD0-4AA7-BF5F-8F9FC4242D69") 
enum AcTextAttachmentDirection
    {
        acAttachmentHorizontal	= 0,
        acAttachmentVertical	= 1
    } 	AcTextAttachmentDirection;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("95A3F438-4472-4A8B-8B76-DBE8FA374EAA") 
enum AcVerticalTextAttachmentType
    {
        acAttachmentCenter	= 0,
        acAttachmentLinedCenter	= 1
    } 	AcVerticalTextAttachmentType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2C78682D-A496-4502-8983-B6540D8AE6C5") 
enum AcMeshCreaseType
    {
        acNoneCrease	= 0,
        acAlwaysCrease	= 1,
        acCreaseByLevel	= 2
    } 	AcMeshCreaseType;


typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("4EDAABA8-ECA5-4714-94AB-54D13E13748B") 
enum AcWireframeType
    {
        acIsolines	= 0,
        acIsoparms	= 1
    } 	AcWireframeType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("2831F75C-0936-4CE6-9FEA-E0A96182135B") 
enum AcSplineKnotParameterizationType
    {
        acChord	= 0,
        acSqrtChord	= 1,
        acUniformParam	= 2,
        acCustomParameterization	= 15
    } 	AcSplineKnotParameterizationType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("37BBDB6C-69E5-4B03-8B33-E88208EA2646") 
enum AcSplineFrameType
    {
        acShow	= 0,
        acHide	= 1
    } 	AcSplineFrameType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("787BF7F9-E41E-418E-8D01-7204874094E7") 
enum AcSplineMethodType
    {
        acFit	= 0,
        acControlVertices	= 1
    } 	AcSplineMethodType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("CE586F36-C98E-404A-8C44-F3EE4E7EDC24") 
enum AcPointCloudColorType
    {
        acTrueColor	= 0,
        acByColor	= 1
    } 	AcPointCloudColorType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("BF9A54D1-34FD-4184-8327-29FDE666926B") 
enum AcPointCloudStylizationType
    {
        acScanColor	= 0,
        acObjectColor	= 1,
        acNormal	= 2,
        acIntensity	= 3
    } 	AcPointCloudStylizationType;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("1FE59D17-3642-49A3-BD8D-28170A027C0B") 
enum AcPointCloudIntensityStyle
    {
        acIntensityGrayscale	= 0,
        acIntensityRainbow	= 1,
        acIntensityRed	= 2,
        acIntensityGreen	= 3,
        acIntensityBlue	= 4,
        acIntensityEditableFlag	= 5
    } 	AcPointCloudIntensityStyle;

typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("78F34575-69C0-4914-93FC-E4058B41DE8F") 
enum AcPointCloudExStylizationType
    {
        acRGB	= 0,
        acObject	= 1,
        acNormals	= 2,
        acIntensities	= 3,
        acElevation	= 4,
        acClassification	= 5
    } 	AcPointCloudExStylizationType;

#pragma once







typedef /* [v1_enum][uuid][helpcontext] */  DECLSPEC_UUID("1841AB52-40B0-4FF1-859A-CA58F0B08A2A") 
enum AcColorMethod
    {
        acColorMethodByLayer	= 192,
        acColorMethodByBlock	= 193,
        acColorMethodByRGB	= 194,
        acColorMethodByACI	= 195,
        acColorMethodForeground	= 197
    } 	AcColorMethod;


typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("3DE1692E-69A1-4BAC-863D-A9A2834F1A5A") 
enum __MIDL___MIDL_itf_acad_0001_0245_0001
    {
        ACADSECURITYPARAMS_ENCRYPT_DATA	= 0x1,
        ACADSECURITYPARAMS_ENCRYPT_PROPS	= 0x2,
        ACADSECURITYPARAMS_SIGN_DATA	= 0x10,
        ACADSECURITYPARAMS_ADD_TIMESTAMP	= 0x20
    } 	AcadSecurityParamsType;

typedef /* [helpcontext][uuid] */  DECLSPEC_UUID("BEC7A69A-0EF9-452E-B466-CB6032E0CCE2") 
enum __MIDL___MIDL_itf_acad_0001_0245_0002
    {
        ACADSECURITYPARAMS_ALGID_RC4	= 0x6801
    } 	AcadSecurityParamsConstants;

















DEFINE_GUID(LIBID_AutoCAD,0x4E3F492A,0xFB57,0x4439,0x9B,0xF0,0x15,0x67,0xED,0x84,0xA3,0xA9);

#ifndef __IAcadObject_INTERFACE_DEFINED__
#define __IAcadObject_INTERFACE_DEFINED__

/* interface IAcadObject */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadObject,0x095C6874,0x42A1,0x4B00,0xBD,0x24,0xF6,0x36,0x0F,0x59,0x18,0xAF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("095C6874-42A1-4B00-BD24-F6360F5918AF")
    IAcadObject : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Handle( 
            /* [retval][out] */ BSTR *Handle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectName( 
            /* [retval][out] */ BSTR *ObjectName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetXData( 
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetXData( 
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectID( 
            /* [retval][out] */ LONG_PTR *ObjectId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *ApplicationObject) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Database( 
            /* [retval][out] */ IAcadDatabase **pDatabase) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasExtensionDictionary( 
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetExtensionDictionary( 
            /* [retval][out] */ IAcadDictionary **pExtDictionary) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_OwnerID( 
            /* [retval][out] */ LONG_PTR *OwnerId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Document( 
            /* [retval][out] */ LPDISPATCH *pDocument) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT STDMETHODCALLTYPE Erase( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadObjectVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadObject * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadObject * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadObject * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadObject * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadObject * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadObject * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadObject * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadObject * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadObject * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadObject * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadObject * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadObject * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadObject * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadObject * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadObject * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadObject * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadObject * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadObject * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadObject * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadObject * This);
        
        END_INTERFACE
    } IAcadObjectVtbl;

    interface IAcadObject
    {
        CONST_VTBL struct IAcadObjectVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadObject_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadObject_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadObject_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadObject_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadObject_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadObject_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadObject_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadObject_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadObject_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadObject_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadObject_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadObject_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadObject_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadObject_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadObject_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadObject_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadObject_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadObject_INTERFACE_DEFINED__ */


#ifndef __IAcadDictionary_INTERFACE_DEFINED__
#define __IAcadDictionary_INTERFACE_DEFINED__

/* interface IAcadDictionary */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDictionary,0xC12D0CA7,0x5F25,0x4BB0,0xBB,0xFE,0xF4,0xD6,0x28,0xB1,0xAA,0x1D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C12D0CA7-5F25-4BB0-BBFE-F4D628B1AA1D")
    IAcadDictionary : public IAcadObject
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE AddObject( 
            /* [in] */ BSTR Keyword,
            /* [in] */ BSTR ObjectName,
            /* [retval][out] */ IAcadObject **pNewObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE GetName( 
            /* [in] */ IAcadObject *Object,
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE GetObject( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadObject **pObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Remove( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadObject **pObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR OldName,
            /* [in] */ BSTR NewName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Replace( 
            /* [in] */ BSTR OldName,
            /* [in] */ IAcadObject *pObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadObject **pItem) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE AddXRecord( 
            /* [in] */ BSTR Keyword,
            /* [retval][out] */ IAcadXRecord **pNewXRecord) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDictionaryVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDictionary * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDictionary * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDictionary * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDictionary * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDictionary * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDictionary * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDictionary * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDictionary * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDictionary * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDictionary * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDictionary * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDictionary * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDictionary * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDictionary * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDictionary * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDictionary * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDictionary * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDictionary * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDictionary * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDictionary * This);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadDictionary * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadDictionary * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddObject )( 
            IAcadDictionary * This,
            /* [in] */ BSTR Keyword,
            /* [in] */ BSTR ObjectName,
            /* [retval][out] */ IAcadObject **pNewObj);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetName )( 
            IAcadDictionary * This,
            /* [in] */ IAcadObject *Object,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetObject )( 
            IAcadDictionary * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadObject **pObj);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Remove )( 
            IAcadDictionary * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadObject **pObj);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IAcadDictionary * This,
            /* [in] */ BSTR OldName,
            /* [in] */ BSTR NewName);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Replace )( 
            IAcadDictionary * This,
            /* [in] */ BSTR OldName,
            /* [in] */ IAcadObject *pObj);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadDictionary * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadObject **pItem);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadDictionary * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadDictionary * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddXRecord )( 
            IAcadDictionary * This,
            /* [in] */ BSTR Keyword,
            /* [retval][out] */ IAcadXRecord **pNewXRecord);
        
        END_INTERFACE
    } IAcadDictionaryVtbl;

    interface IAcadDictionary
    {
        CONST_VTBL struct IAcadDictionaryVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDictionary_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDictionary_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDictionary_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDictionary_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDictionary_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDictionary_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDictionary_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDictionary_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDictionary_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDictionary_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDictionary_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDictionary_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDictionary_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDictionary_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDictionary_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDictionary_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDictionary_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDictionary_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDictionary_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDictionary_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDictionary_get_Name(This,pVal)	\
    ( (This)->lpVtbl -> get_Name(This,pVal) ) 

#define IAcadDictionary_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define IAcadDictionary_AddObject(This,Keyword,ObjectName,pNewObj)	\
    ( (This)->lpVtbl -> AddObject(This,Keyword,ObjectName,pNewObj) ) 

#define IAcadDictionary_GetName(This,Object,bstrName)	\
    ( (This)->lpVtbl -> GetName(This,Object,bstrName) ) 

#define IAcadDictionary_GetObject(This,Name,pObj)	\
    ( (This)->lpVtbl -> GetObject(This,Name,pObj) ) 

#define IAcadDictionary_Remove(This,Name,pObj)	\
    ( (This)->lpVtbl -> Remove(This,Name,pObj) ) 

#define IAcadDictionary_Rename(This,OldName,NewName)	\
    ( (This)->lpVtbl -> Rename(This,OldName,NewName) ) 

#define IAcadDictionary_Replace(This,OldName,pObj)	\
    ( (This)->lpVtbl -> Replace(This,OldName,pObj) ) 

#define IAcadDictionary_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadDictionary_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadDictionary_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadDictionary_AddXRecord(This,Keyword,pNewXRecord)	\
    ( (This)->lpVtbl -> AddXRecord(This,Keyword,pNewXRecord) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDictionary_INTERFACE_DEFINED__ */


#ifndef __IAcadEntity_INTERFACE_DEFINED__
#define __IAcadEntity_INTERFACE_DEFINED__

/* interface IAcadEntity */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadEntity,0xB58808B5,0x37AC,0x431F,0xBA,0x80,0xA8,0xD3,0x81,0xBB,0x4C,0x5C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B58808B5-37AC-431F-BA80-A8D381BB4C5C")
    IAcadEntity : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TrueColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TrueColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Layer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Layer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *bVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL bVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ArrayPolar( 
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ArrayRectangular( 
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ VARIANT_BOOL HighlightFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Copy( 
            /* [retval][out] */ LPDISPATCH *pCopyObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Move( 
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Rotate( 
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Rotate3D( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Mirror( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Mirror3D( 
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ScaleEntity( 
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE TransformBy( 
            /* [in] */ VARIANT TransformationMatrix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBoundingBox( 
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IntersectWith( 
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Lineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Lineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EntityTransparency( 
            /* [retval][out] */ BSTR *transparency) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EntityTransparency( 
            /* [in] */ BSTR transparency) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Hyperlinks( 
            /* [retval][out] */ IAcadHyperlinks **HyperLinks) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Material( 
            /* [retval][out] */ BSTR *Material) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Material( 
            /* [in] */ BSTR Material) = 0;
        
        virtual /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_EntityName( 
            /* [retval][out] */ BSTR *EntityName) = 0;
        
        virtual /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_EntityType( 
            /* [retval][out] */ long *entType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadEntityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadEntity * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadEntity * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadEntity * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadEntity * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadEntity * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadEntity * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadEntity * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadEntity * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadEntity * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadEntity * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadEntity * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadEntity * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadEntity * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadEntity * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadEntity * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadEntity * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadEntity * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadEntity * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadEntity * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadEntity * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadEntity * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadEntity * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadEntity * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadEntity * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadEntity * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadEntity * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadEntity * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadEntity * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadEntity * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadEntity * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadEntity * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadEntity * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadEntity * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadEntity * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadEntity * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadEntity * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadEntity * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadEntity * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadEntity * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadEntity * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadEntity * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadEntity * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadEntity * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadEntity * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadEntity * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadEntity * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadEntity * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadEntity * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadEntity * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadEntity * This,
            /* [in] */ ACAD_COLOR Color);
        
        END_INTERFACE
    } IAcadEntityVtbl;

    interface IAcadEntity
    {
        CONST_VTBL struct IAcadEntityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadEntity_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadEntity_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadEntity_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadEntity_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadEntity_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadEntity_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadEntity_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadEntity_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadEntity_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadEntity_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadEntity_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadEntity_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadEntity_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadEntity_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadEntity_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadEntity_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadEntity_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadEntity_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadEntity_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadEntity_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadEntity_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadEntity_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadEntity_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadEntity_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadEntity_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadEntity_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadEntity_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadEntity_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadEntity_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadEntity_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadEntity_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadEntity_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadEntity_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadEntity_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadEntity_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadEntity_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadEntity_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadEntity_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadEntity_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadEntity_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadEntity_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadEntity_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadEntity_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadEntity_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadEntity_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadEntity_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadEntity_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadEntity_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadEntity_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadEntity_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadEntity_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadEntity_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadEntity_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadEntity_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadEntity_INTERFACE_DEFINED__ */


#ifndef __IAcadBlock_INTERFACE_DEFINED__
#define __IAcadBlock_INTERFACE_DEFINED__

/* interface IAcadBlock */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadBlock,0xD113FB37,0xDE17,0x4644,0x85,0x40,0xB2,0xD3,0x5F,0x12,0x72,0xFB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D113FB37-DE17-4644-8540-B2D35F1272FB")
    IAcadBlock : public IAcadObject
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ VARIANT *origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ VARIANT origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCustomObject( 
            /* [in] */ BSTR ClassName,
            /* [retval][out] */ LPDISPATCH *pObject) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add3DFace( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcad3DFace **pFace3d) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add3DMesh( 
            /* [in] */ int M,
            /* [in] */ int N,
            /* [in] */ VARIANT PointsMatrix,
            /* [retval][out] */ IAcadPolygonMesh **pMesh3d) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add3DPoly( 
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcad3DPolyline **pPoly3d) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddArc( 
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IAcadArc **pArc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddAttribute( 
            /* [in] */ double Height,
            /* [in] */ AcAttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IAcadAttribute **pAttr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddBox( 
            /* [in] */ VARIANT Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pBox) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCircle( 
            /* [in] */ VARIANT center,
            /* [in] */ double radius,
            /* [retval][out] */ IAcadCircle **pCircle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCone( 
            /* [in] */ VARIANT Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCone) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCylinder( 
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCyl) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimAligned( 
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT TextPosition,
            /* [retval][out] */ IAcadDimAligned **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimAngular( 
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDimAngular **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimDiametric( 
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimDiametric **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimRotated( 
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT DimLineLocation,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadDimRotated **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimOrdinate( 
            /* [in] */ VARIANT DefinitionPoint,
            /* [in] */ VARIANT LeaderEndPoint,
            /* [in] */ int UseXAxis,
            /* [retval][out] */ IAcadDimOrdinate **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimRadial( 
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimRadial **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddEllipse( 
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IAcadEllipse **pEllipse) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddEllipticalCone( 
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCone) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddEllipticalCylinder( 
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCyl) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddExtrudedSolid( 
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ double Height,
            /* [in] */ double TaperAngle,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddExtrudedSolidAlongPath( 
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ IDispatch *Path,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLeader( 
            /* [in] */ VARIANT PointsArray,
            /* [in] */ IAcadEntity *Annotation,
            /* [in] */ AcLeaderType Type,
            /* [retval][out] */ IAcadLeader **pLeader) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddMText( 
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IAcadMText **pMtext) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddPoint( 
            /* [in] */ VARIANT Point,
            /* [retval][out] */ IAcadPoint **pPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLightWeightPolyline( 
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadLWPolyline **pLWPolyline) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddPolyline( 
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadPolyline **pPolyline) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddRay( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadRay **pRay) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddRegion( 
            /* [in] */ VARIANT ObjectList,
            /* [retval][out] */ VARIANT *pRegions) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddRevolvedSolid( 
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ VARIANT AxisPoint,
            /* [in] */ VARIANT AxisDir,
            /* [in] */ double Angle,
            /* [retval][out] */ IAcad3DSolid **pRevolSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddShape( 
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double scaleFactor,
            /* [in] */ double rotationAngle,
            /* [retval][out] */ IAcadShape **pShape) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddSolid( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcadSolid **pSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddSphere( 
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IAcad3DSolid **pSphere) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddSpline( 
            /* [in] */ VARIANT PointsArray,
            /* [in] */ VARIANT StartTangent,
            /* [in] */ VARIANT EndTangent,
            /* [retval][out] */ IAcadSpline **pSpline) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddText( 
            /* [in] */ BSTR TextString,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IAcadText **pText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddTolerance( 
            /* [in] */ BSTR Text,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ VARIANT Direction,
            /* [retval][out] */ IAcadTolerance **pTolerance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddTorus( 
            /* [in] */ VARIANT Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IAcad3DSolid **pTorus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddTrace( 
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcadTrace **pTrace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddWedge( 
            /* [in] */ VARIANT Center,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pWedge) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddXline( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadXline **pXline) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertBlock( 
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadBlockReference **pBlkRef) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddHatch( 
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [optional][in] */ VARIANT HatchObjectType,
            /* [retval][out] */ IAcadHatch **pHatch) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddRaster( 
            /* [in] */ BSTR ImageFileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadRasterImage **pRaster) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLine( 
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ IAcadLine **pLine) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsLayout( 
            /* [retval][out] */ VARIANT_BOOL *bIsLayout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Layout( 
            /* [retval][out] */ IAcadLayout **pLayout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsXRef( 
            /* [retval][out] */ VARIANT_BOOL *pIsXRref) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddMInsertBlock( 
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ long NumRows,
            /* [in] */ long NumColumns,
            /* [in] */ long RowSpacing,
            /* [in] */ long ColumnSpacing,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadMInsertBlock **pMInsertBlk) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddPolyfaceMesh( 
            /* [in] */ VARIANT VertexList,
            /* [in] */ VARIANT FaceList,
            /* [retval][out] */ IAcadPolyfaceMesh **pPFMesh) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddMLine( 
            /* [in] */ VARIANT VertexList,
            /* [retval][out] */ IAcadMLine **pMLine) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDim3PointAngular( 
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDim3PointAngular **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XRefDatabase( 
            /* [retval][out] */ IAcadDatabase **pDatabase) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AttachExternalReference( 
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadExternalReference **pXRef) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Unload( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Reload( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Bind( 
            /* [in] */ VARIANT_BOOL bPrefixName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Detach( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddTable( 
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ double RowHeight,
            /* [in] */ double ColWidth,
            /* [retval][out] */ IAcadTable **pTable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Comments( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Comments( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Units( 
            /* [retval][out] */ AcInsertUnits *pIU) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Units( 
            /* [in] */ AcInsertUnits IU) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Explodable( 
            /* [retval][out] */ VARIANT_BOOL *bExplodable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Explodable( 
            /* [in] */ VARIANT_BOOL bExplodable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockScaling( 
            /* [retval][out] */ AcBlockScaling *pBS) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockScaling( 
            /* [in] */ AcBlockScaling BS) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsDynamicBlock( 
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimArc( 
            /* [in] */ VARIANT ArcCenter,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT ArcPoint,
            /* [retval][out] */ IAcadDimArcLength **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddDimRadialLarge( 
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT OverrideCenter,
            /* [in] */ VARIANT JogPoint,
            /* [in] */ double JogAngle,
            /* [retval][out] */ IAcadDimRadialLarge **pDim) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddSection( 
            /* [in] */ VARIANT fromPoint,
            /* [in] */ VARIANT toPoint,
            /* [in] */ VARIANT planeVector,
            /* [retval][out] */ IAcadSection **ppSecPlane) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddMLeader( 
            /* [in] */ VARIANT pointsArray,
            /* [out] */ int *leaderLineIndex,
            /* [retval][out] */ IAcadMLeader **pMLeader) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadBlock * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadBlock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadBlock * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadBlock * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadBlock * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadBlock * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadBlock * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadBlock * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadBlock * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadBlock * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadBlock * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadBlock * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadBlock * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadBlock * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadBlock * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadBlock * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadBlock * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadBlock * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadBlock * This);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadBlock * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadBlock * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadBlock * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadBlock * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadBlock * This,
            /* [in] */ VARIANT origin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCustomObject )( 
            IAcadBlock * This,
            /* [in] */ BSTR ClassName,
            /* [retval][out] */ LPDISPATCH *pObject);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DFace )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcad3DFace **pFace3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DMesh )( 
            IAcadBlock * This,
            /* [in] */ int M,
            /* [in] */ int N,
            /* [in] */ VARIANT PointsMatrix,
            /* [retval][out] */ IAcadPolygonMesh **pMesh3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DPoly )( 
            IAcadBlock * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcad3DPolyline **pPoly3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddArc )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IAcadArc **pArc);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IAcadBlock * This,
            /* [in] */ double Height,
            /* [in] */ AcAttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IAcadAttribute **pAttr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddBox )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pBox);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCircle )( 
            IAcadBlock * This,
            /* [in] */ VARIANT center,
            /* [in] */ double radius,
            /* [retval][out] */ IAcadCircle **pCircle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCone )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCylinder )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAligned )( 
            IAcadBlock * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT TextPosition,
            /* [retval][out] */ IAcadDimAligned **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAngular )( 
            IAcadBlock * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDimAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimDiametric )( 
            IAcadBlock * This,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimDiametric **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRotated )( 
            IAcadBlock * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT DimLineLocation,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadDimRotated **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimOrdinate )( 
            IAcadBlock * This,
            /* [in] */ VARIANT DefinitionPoint,
            /* [in] */ VARIANT LeaderEndPoint,
            /* [in] */ int UseXAxis,
            /* [retval][out] */ IAcadDimOrdinate **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadial )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimRadial **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipse )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IAcadEllipse **pEllipse);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCone )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCylinder )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolid )( 
            IAcadBlock * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ double Height,
            /* [in] */ double TaperAngle,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolidAlongPath )( 
            IAcadBlock * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ IDispatch *Path,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeader )( 
            IAcadBlock * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ IAcadEntity *Annotation,
            /* [in] */ AcLeaderType Type,
            /* [retval][out] */ IAcadLeader **pLeader);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMText )( 
            IAcadBlock * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IAcadMText **pMtext);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPoint )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Point,
            /* [retval][out] */ IAcadPoint **pPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLightWeightPolyline )( 
            IAcadBlock * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadLWPolyline **pLWPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyline )( 
            IAcadBlock * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadPolyline **pPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRay )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadRay **pRay);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRegion )( 
            IAcadBlock * This,
            /* [in] */ VARIANT ObjectList,
            /* [retval][out] */ VARIANT *pRegions);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRevolvedSolid )( 
            IAcadBlock * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ VARIANT AxisPoint,
            /* [in] */ VARIANT AxisDir,
            /* [in] */ double Angle,
            /* [retval][out] */ IAcad3DSolid **pRevolSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddShape )( 
            IAcadBlock * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double scaleFactor,
            /* [in] */ double rotationAngle,
            /* [retval][out] */ IAcadShape **pShape);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSolid )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcadSolid **pSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSphere )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IAcad3DSolid **pSphere);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSpline )( 
            IAcadBlock * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ VARIANT StartTangent,
            /* [in] */ VARIANT EndTangent,
            /* [retval][out] */ IAcadSpline **pSpline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddText )( 
            IAcadBlock * This,
            /* [in] */ BSTR TextString,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IAcadText **pText);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTolerance )( 
            IAcadBlock * This,
            /* [in] */ BSTR Text,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ VARIANT Direction,
            /* [retval][out] */ IAcadTolerance **pTolerance);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTorus )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IAcad3DSolid **pTorus);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTrace )( 
            IAcadBlock * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcadTrace **pTrace);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddWedge )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pWedge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddXline )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadXline **pXline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertBlock )( 
            IAcadBlock * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadBlockReference **pBlkRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddHatch )( 
            IAcadBlock * This,
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [optional][in] */ VARIANT HatchObjectType,
            /* [retval][out] */ IAcadHatch **pHatch);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRaster )( 
            IAcadBlock * This,
            /* [in] */ BSTR ImageFileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadRasterImage **pRaster);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLine )( 
            IAcadBlock * This,
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ IAcadLine **pLine);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLayout )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bIsLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layout )( 
            IAcadBlock * This,
            /* [retval][out] */ IAcadLayout **pLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsXRef )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT_BOOL *pIsXRref);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMInsertBlock )( 
            IAcadBlock * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ long NumRows,
            /* [in] */ long NumColumns,
            /* [in] */ long RowSpacing,
            /* [in] */ long ColumnSpacing,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadMInsertBlock **pMInsertBlk);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyfaceMesh )( 
            IAcadBlock * This,
            /* [in] */ VARIANT VertexList,
            /* [in] */ VARIANT FaceList,
            /* [retval][out] */ IAcadPolyfaceMesh **pPFMesh);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLine )( 
            IAcadBlock * This,
            /* [in] */ VARIANT VertexList,
            /* [retval][out] */ IAcadMLine **pMLine);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDim3PointAngular )( 
            IAcadBlock * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDim3PointAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefDatabase )( 
            IAcadBlock * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AttachExternalReference )( 
            IAcadBlock * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadExternalReference **pXRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Unload )( 
            IAcadBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            IAcadBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Bind )( 
            IAcadBlock * This,
            /* [in] */ VARIANT_BOOL bPrefixName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Detach )( 
            IAcadBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTable )( 
            IAcadBlock * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ double RowHeight,
            /* [in] */ double ColWidth,
            /* [retval][out] */ IAcadTable **pTable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadBlock * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IAcadBlock * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            IAcadBlock * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            IAcadBlock * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Units )( 
            IAcadBlock * This,
            /* [retval][out] */ AcInsertUnits *pIU);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Units )( 
            IAcadBlock * This,
            /* [in] */ AcInsertUnits IU);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Explodable )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Explodable )( 
            IAcadBlock * This,
            /* [in] */ VARIANT_BOOL bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockScaling )( 
            IAcadBlock * This,
            /* [retval][out] */ AcBlockScaling *pBS);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockScaling )( 
            IAcadBlock * This,
            /* [in] */ AcBlockScaling BS);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadBlock * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimArc )( 
            IAcadBlock * This,
            /* [in] */ VARIANT ArcCenter,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT ArcPoint,
            /* [retval][out] */ IAcadDimArcLength **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadialLarge )( 
            IAcadBlock * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT OverrideCenter,
            /* [in] */ VARIANT JogPoint,
            /* [in] */ double JogAngle,
            /* [retval][out] */ IAcadDimRadialLarge **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSection )( 
            IAcadBlock * This,
            /* [in] */ VARIANT fromPoint,
            /* [in] */ VARIANT toPoint,
            /* [in] */ VARIANT planeVector,
            /* [retval][out] */ IAcadSection **ppSecPlane);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLeader )( 
            IAcadBlock * This,
            /* [in] */ VARIANT pointsArray,
            /* [out] */ int *leaderLineIndex,
            /* [retval][out] */ IAcadMLeader **pMLeader);
        
        END_INTERFACE
    } IAcadBlockVtbl;

    interface IAcadBlock
    {
        CONST_VTBL struct IAcadBlockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadBlock_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadBlock_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadBlock_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadBlock_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadBlock_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadBlock_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadBlock_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadBlock_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadBlock_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadBlock_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadBlock_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadBlock_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadBlock_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadBlock_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadBlock_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadBlock_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadBlock_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadBlock_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadBlock_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadBlock_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadBlock_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadBlock_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadBlock_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadBlock_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadBlock_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadBlock_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadBlock_put_Origin(This,origin)	\
    ( (This)->lpVtbl -> put_Origin(This,origin) ) 

#define IAcadBlock_AddCustomObject(This,ClassName,pObject)	\
    ( (This)->lpVtbl -> AddCustomObject(This,ClassName,pObject) ) 

#define IAcadBlock_Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d)	\
    ( (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d) ) 

#define IAcadBlock_Add3DMesh(This,M,N,PointsMatrix,pMesh3d)	\
    ( (This)->lpVtbl -> Add3DMesh(This,M,N,PointsMatrix,pMesh3d) ) 

#define IAcadBlock_Add3DPoly(This,PointsArray,pPoly3d)	\
    ( (This)->lpVtbl -> Add3DPoly(This,PointsArray,pPoly3d) ) 

#define IAcadBlock_AddArc(This,Center,Radius,StartAngle,EndAngle,pArc)	\
    ( (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,pArc) ) 

#define IAcadBlock_AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr)	\
    ( (This)->lpVtbl -> AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr) ) 

#define IAcadBlock_AddBox(This,Origin,Length,Width,Height,pBox)	\
    ( (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,pBox) ) 

#define IAcadBlock_AddCircle(This,center,radius,pCircle)	\
    ( (This)->lpVtbl -> AddCircle(This,center,radius,pCircle) ) 

#define IAcadBlock_AddCone(This,Center,BaseRadius,Height,pCone)	\
    ( (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,pCone) ) 

#define IAcadBlock_AddCylinder(This,Center,Radius,Height,pCyl)	\
    ( (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,pCyl) ) 

#define IAcadBlock_AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim)	\
    ( (This)->lpVtbl -> AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim) ) 

#define IAcadBlock_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadBlock_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim) ) 

#define IAcadBlock_AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim) ) 

#define IAcadBlock_AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim)	\
    ( (This)->lpVtbl -> AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim) ) 

#define IAcadBlock_AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim) ) 

#define IAcadBlock_AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse)	\
    ( (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse) ) 

#define IAcadBlock_AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone)	\
    ( (This)->lpVtbl -> AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone) ) 

#define IAcadBlock_AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl)	\
    ( (This)->lpVtbl -> AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl) ) 

#define IAcadBlock_AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid) ) 

#define IAcadBlock_AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid) ) 

#define IAcadBlock_AddLeader(This,PointsArray,Annotation,Type,pLeader)	\
    ( (This)->lpVtbl -> AddLeader(This,PointsArray,Annotation,Type,pLeader) ) 

#define IAcadBlock_AddMText(This,InsertionPoint,Width,Text,pMtext)	\
    ( (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,pMtext) ) 

#define IAcadBlock_AddPoint(This,Point,pPoint)	\
    ( (This)->lpVtbl -> AddPoint(This,Point,pPoint) ) 

#define IAcadBlock_AddLightWeightPolyline(This,VerticesList,pLWPolyline)	\
    ( (This)->lpVtbl -> AddLightWeightPolyline(This,VerticesList,pLWPolyline) ) 

#define IAcadBlock_AddPolyline(This,VerticesList,pPolyline)	\
    ( (This)->lpVtbl -> AddPolyline(This,VerticesList,pPolyline) ) 

#define IAcadBlock_AddRay(This,Point1,Point2,pRay)	\
    ( (This)->lpVtbl -> AddRay(This,Point1,Point2,pRay) ) 

#define IAcadBlock_AddRegion(This,ObjectList,pRegions)	\
    ( (This)->lpVtbl -> AddRegion(This,ObjectList,pRegions) ) 

#define IAcadBlock_AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid)	\
    ( (This)->lpVtbl -> AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid) ) 

#define IAcadBlock_AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape)	\
    ( (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape) ) 

#define IAcadBlock_AddSolid(This,Point1,Point2,Point3,Point4,pSolid)	\
    ( (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,pSolid) ) 

#define IAcadBlock_AddSphere(This,Center,Radius,pSphere)	\
    ( (This)->lpVtbl -> AddSphere(This,Center,Radius,pSphere) ) 

#define IAcadBlock_AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline)	\
    ( (This)->lpVtbl -> AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline) ) 

#define IAcadBlock_AddText(This,TextString,InsertionPoint,Height,pText)	\
    ( (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,pText) ) 

#define IAcadBlock_AddTolerance(This,Text,InsertionPoint,Direction,pTolerance)	\
    ( (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,pTolerance) ) 

#define IAcadBlock_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    ( (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus) ) 

#define IAcadBlock_AddTrace(This,PointsArray,pTrace)	\
    ( (This)->lpVtbl -> AddTrace(This,PointsArray,pTrace) ) 

#define IAcadBlock_AddWedge(This,Center,Length,Width,Height,pWedge)	\
    ( (This)->lpVtbl -> AddWedge(This,Center,Length,Width,Height,pWedge) ) 

#define IAcadBlock_AddXline(This,Point1,Point2,pXline)	\
    ( (This)->lpVtbl -> AddXline(This,Point1,Point2,pXline) ) 

#define IAcadBlock_InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef)	\
    ( (This)->lpVtbl -> InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef) ) 

#define IAcadBlock_AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch)	\
    ( (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch) ) 

#define IAcadBlock_AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster)	\
    ( (This)->lpVtbl -> AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster) ) 

#define IAcadBlock_AddLine(This,StartPoint,EndPoint,pLine)	\
    ( (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,pLine) ) 

#define IAcadBlock_get_IsLayout(This,bIsLayout)	\
    ( (This)->lpVtbl -> get_IsLayout(This,bIsLayout) ) 

#define IAcadBlock_get_Layout(This,pLayout)	\
    ( (This)->lpVtbl -> get_Layout(This,pLayout) ) 

#define IAcadBlock_get_IsXRef(This,pIsXRref)	\
    ( (This)->lpVtbl -> get_IsXRef(This,pIsXRref) ) 

#define IAcadBlock_AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk)	\
    ( (This)->lpVtbl -> AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk) ) 

#define IAcadBlock_AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh)	\
    ( (This)->lpVtbl -> AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh) ) 

#define IAcadBlock_AddMLine(This,VertexList,pMLine)	\
    ( (This)->lpVtbl -> AddMLine(This,VertexList,pMLine) ) 

#define IAcadBlock_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadBlock_get_XRefDatabase(This,pDatabase)	\
    ( (This)->lpVtbl -> get_XRefDatabase(This,pDatabase) ) 

#define IAcadBlock_AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef)	\
    ( (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef) ) 

#define IAcadBlock_Unload(This)	\
    ( (This)->lpVtbl -> Unload(This) ) 

#define IAcadBlock_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define IAcadBlock_Bind(This,bPrefixName)	\
    ( (This)->lpVtbl -> Bind(This,bPrefixName) ) 

#define IAcadBlock_Detach(This)	\
    ( (This)->lpVtbl -> Detach(This) ) 

#define IAcadBlock_AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable)	\
    ( (This)->lpVtbl -> AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable) ) 

#define IAcadBlock_get_Path(This,bstrName)	\
    ( (This)->lpVtbl -> get_Path(This,bstrName) ) 

#define IAcadBlock_put_Path(This,bstrName)	\
    ( (This)->lpVtbl -> put_Path(This,bstrName) ) 

#define IAcadBlock_get_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> get_Comments(This,bstrName) ) 

#define IAcadBlock_put_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> put_Comments(This,bstrName) ) 

#define IAcadBlock_get_Units(This,pIU)	\
    ( (This)->lpVtbl -> get_Units(This,pIU) ) 

#define IAcadBlock_put_Units(This,IU)	\
    ( (This)->lpVtbl -> put_Units(This,IU) ) 

#define IAcadBlock_get_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> get_Explodable(This,bExplodable) ) 

#define IAcadBlock_put_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> put_Explodable(This,bExplodable) ) 

#define IAcadBlock_get_BlockScaling(This,pBS)	\
    ( (This)->lpVtbl -> get_BlockScaling(This,pBS) ) 

#define IAcadBlock_put_BlockScaling(This,BS)	\
    ( (This)->lpVtbl -> put_BlockScaling(This,BS) ) 

#define IAcadBlock_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadBlock_AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim) ) 

#define IAcadBlock_AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim) ) 

#define IAcadBlock_AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane)	\
    ( (This)->lpVtbl -> AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane) ) 

#define IAcadBlock_AddMLeader(This,pointsArray,leaderLineIndex,pMLeader)	\
    ( (This)->lpVtbl -> AddMLeader(This,pointsArray,leaderLineIndex,pMLeader) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadBlock_INTERFACE_DEFINED__ */


#ifndef __IAcadDatabase_INTERFACE_DEFINED__
#define __IAcadDatabase_INTERFACE_DEFINED__

/* interface IAcadDatabase */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDatabase,0x21153F0A,0x6DC2,0x47CF,0x86,0x34,0x61,0x60,0xBE,0x63,0xBF,0xAF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("21153F0A-6DC2-47CF-8634-6160BE63BFAF")
    IAcadDatabase : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ModelSpace( 
            /* [retval][out] */ IAcadModelSpace **pMSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PaperSpace( 
            /* [retval][out] */ IAcadPaperSpace **pPSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Blocks( 
            /* [retval][out] */ IAcadBlocks **pBlocks) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyObjects( 
            /* [in] */ VARIANT Objects,
            /* [optional][in] */ VARIANT Owner,
            /* [optional][out][in] */ VARIANT *IdPairs,
            /* [retval][out] */ VARIANT *pNewObjects) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Groups( 
            /* [retval][out] */ IAcadGroups **pGroups) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_DimStyles( 
            /* [retval][out] */ IAcadDimStyles **pDimStyles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Layers( 
            /* [retval][out] */ IAcadLayers **pLayers) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Linetypes( 
            /* [retval][out] */ IAcadLineTypes **pLinetypes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Dictionaries( 
            /* [retval][out] */ IAcadDictionaries **pDictionaries) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_RegisteredApplications( 
            /* [retval][out] */ IAcadRegisteredApplications **pRegApps) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TextStyles( 
            /* [retval][out] */ IAcadTextStyles **pTextStyles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_UserCoordinateSystems( 
            /* [retval][out] */ IAcadUCSs **pUCSs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Views( 
            /* [retval][out] */ IAcadViews **pViews) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Viewports( 
            /* [retval][out] */ IAcadViewports **pViewports) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ElevationModelSpace( 
            /* [retval][out] */ double *elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ElevationModelSpace( 
            /* [in] */ double elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ElevationPaperSpace( 
            /* [retval][out] */ double *elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ElevationPaperSpace( 
            /* [in] */ double elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Limits( 
            /* [retval][out] */ VARIANT *limits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Limits( 
            /* [in] */ VARIANT limits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE HandleToObject( 
            /* [in] */ BSTR Handle,
            /* [retval][out] */ IDispatch **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ObjectIdToObject( 
            /* [in] */ LONG_PTR ObjectID,
            /* [retval][out] */ IDispatch **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Layouts( 
            /* [retval][out] */ IAcadLayouts **pLayouts) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotConfigurations( 
            /* [retval][out] */ IAcadPlotConfigurations **pPlotConfigs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ IAcadDatabasePreferences **pPref) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileDependencies( 
            /* [retval][out] */ IAcadFileDependencies **pFDM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SummaryInfo( 
            /* [retval][out] */ IAcadSummaryInfo **pSummaryInfo) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SectionManager( 
            /* [retval][out] */ IAcadSectionManager **pSecMgr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Materials( 
            /* [retval][out] */ IAcadMaterials **pMaterials) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDatabaseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDatabase * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDatabase * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDatabase * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDatabase * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDatabase * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDatabase * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDatabase * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModelSpace )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadModelSpace **pMSpace);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PaperSpace )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadPaperSpace **pPSpace);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Blocks )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadBlocks **pBlocks);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyObjects )( 
            IAcadDatabase * This,
            /* [in] */ VARIANT Objects,
            /* [optional][in] */ VARIANT Owner,
            /* [optional][out][in] */ VARIANT *IdPairs,
            /* [retval][out] */ VARIANT *pNewObjects);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadGroups **pGroups);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DimStyles )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadDimStyles **pDimStyles);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layers )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadLayers **pLayers);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Linetypes )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadLineTypes **pLinetypes);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Dictionaries )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadDictionaries **pDictionaries);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisteredApplications )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadRegisteredApplications **pRegApps);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyles )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadTextStyles **pTextStyles);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserCoordinateSystems )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadUCSs **pUCSs);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Views )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadViews **pViews);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Viewports )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadViewports **pViewports);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ElevationModelSpace )( 
            IAcadDatabase * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ElevationModelSpace )( 
            IAcadDatabase * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ElevationPaperSpace )( 
            IAcadDatabase * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ElevationPaperSpace )( 
            IAcadDatabase * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Limits )( 
            IAcadDatabase * This,
            /* [retval][out] */ VARIANT *limits);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Limits )( 
            IAcadDatabase * This,
            /* [in] */ VARIANT limits);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HandleToObject )( 
            IAcadDatabase * This,
            /* [in] */ BSTR Handle,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ObjectIdToObject )( 
            IAcadDatabase * This,
            /* [in] */ LONG_PTR ObjectID,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layouts )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadLayouts **pLayouts);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotConfigurations )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadPlotConfigurations **pPlotConfigs);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadDatabasePreferences **pPref);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileDependencies )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadFileDependencies **pFDM);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SummaryInfo )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadSummaryInfo **pSummaryInfo);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SectionManager )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadSectionManager **pSecMgr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Materials )( 
            IAcadDatabase * This,
            /* [retval][out] */ IAcadMaterials **pMaterials);
        
        END_INTERFACE
    } IAcadDatabaseVtbl;

    interface IAcadDatabase
    {
        CONST_VTBL struct IAcadDatabaseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDatabase_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDatabase_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDatabase_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDatabase_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDatabase_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDatabase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDatabase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDatabase_get_ModelSpace(This,pMSpace)	\
    ( (This)->lpVtbl -> get_ModelSpace(This,pMSpace) ) 

#define IAcadDatabase_get_PaperSpace(This,pPSpace)	\
    ( (This)->lpVtbl -> get_PaperSpace(This,pPSpace) ) 

#define IAcadDatabase_get_Blocks(This,pBlocks)	\
    ( (This)->lpVtbl -> get_Blocks(This,pBlocks) ) 

#define IAcadDatabase_CopyObjects(This,Objects,Owner,IdPairs,pNewObjects)	\
    ( (This)->lpVtbl -> CopyObjects(This,Objects,Owner,IdPairs,pNewObjects) ) 

#define IAcadDatabase_get_Groups(This,pGroups)	\
    ( (This)->lpVtbl -> get_Groups(This,pGroups) ) 

#define IAcadDatabase_get_DimStyles(This,pDimStyles)	\
    ( (This)->lpVtbl -> get_DimStyles(This,pDimStyles) ) 

#define IAcadDatabase_get_Layers(This,pLayers)	\
    ( (This)->lpVtbl -> get_Layers(This,pLayers) ) 

#define IAcadDatabase_get_Linetypes(This,pLinetypes)	\
    ( (This)->lpVtbl -> get_Linetypes(This,pLinetypes) ) 

#define IAcadDatabase_get_Dictionaries(This,pDictionaries)	\
    ( (This)->lpVtbl -> get_Dictionaries(This,pDictionaries) ) 

#define IAcadDatabase_get_RegisteredApplications(This,pRegApps)	\
    ( (This)->lpVtbl -> get_RegisteredApplications(This,pRegApps) ) 

#define IAcadDatabase_get_TextStyles(This,pTextStyles)	\
    ( (This)->lpVtbl -> get_TextStyles(This,pTextStyles) ) 

#define IAcadDatabase_get_UserCoordinateSystems(This,pUCSs)	\
    ( (This)->lpVtbl -> get_UserCoordinateSystems(This,pUCSs) ) 

#define IAcadDatabase_get_Views(This,pViews)	\
    ( (This)->lpVtbl -> get_Views(This,pViews) ) 

#define IAcadDatabase_get_Viewports(This,pViewports)	\
    ( (This)->lpVtbl -> get_Viewports(This,pViewports) ) 

#define IAcadDatabase_get_ElevationModelSpace(This,elevation)	\
    ( (This)->lpVtbl -> get_ElevationModelSpace(This,elevation) ) 

#define IAcadDatabase_put_ElevationModelSpace(This,elevation)	\
    ( (This)->lpVtbl -> put_ElevationModelSpace(This,elevation) ) 

#define IAcadDatabase_get_ElevationPaperSpace(This,elevation)	\
    ( (This)->lpVtbl -> get_ElevationPaperSpace(This,elevation) ) 

#define IAcadDatabase_put_ElevationPaperSpace(This,elevation)	\
    ( (This)->lpVtbl -> put_ElevationPaperSpace(This,elevation) ) 

#define IAcadDatabase_get_Limits(This,limits)	\
    ( (This)->lpVtbl -> get_Limits(This,limits) ) 

#define IAcadDatabase_put_Limits(This,limits)	\
    ( (This)->lpVtbl -> put_Limits(This,limits) ) 

#define IAcadDatabase_HandleToObject(This,Handle,pObj)	\
    ( (This)->lpVtbl -> HandleToObject(This,Handle,pObj) ) 

#define IAcadDatabase_ObjectIdToObject(This,ObjectID,pObj)	\
    ( (This)->lpVtbl -> ObjectIdToObject(This,ObjectID,pObj) ) 

#define IAcadDatabase_get_Layouts(This,pLayouts)	\
    ( (This)->lpVtbl -> get_Layouts(This,pLayouts) ) 

#define IAcadDatabase_get_PlotConfigurations(This,pPlotConfigs)	\
    ( (This)->lpVtbl -> get_PlotConfigurations(This,pPlotConfigs) ) 

#define IAcadDatabase_get_Preferences(This,pPref)	\
    ( (This)->lpVtbl -> get_Preferences(This,pPref) ) 

#define IAcadDatabase_get_FileDependencies(This,pFDM)	\
    ( (This)->lpVtbl -> get_FileDependencies(This,pFDM) ) 

#define IAcadDatabase_get_SummaryInfo(This,pSummaryInfo)	\
    ( (This)->lpVtbl -> get_SummaryInfo(This,pSummaryInfo) ) 

#define IAcadDatabase_get_SectionManager(This,pSecMgr)	\
    ( (This)->lpVtbl -> get_SectionManager(This,pSecMgr) ) 

#define IAcadDatabase_get_Materials(This,pMaterials)	\
    ( (This)->lpVtbl -> get_Materials(This,pMaterials) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDatabase_INTERFACE_DEFINED__ */


#ifndef __IAcadSectionTypeSettings_INTERFACE_DEFINED__
#define __IAcadSectionTypeSettings_INTERFACE_DEFINED__

/* interface IAcadSectionTypeSettings */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSectionTypeSettings,0x94978F9F,0x9313,0x4B98,0xA9,0x08,0xDD,0xA4,0xF0,0x3D,0x13,0x81);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94978F9F-9313-4B98-A908-DDA4F03D1381")
    IAcadSectionTypeSettings : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GenerationOptions( 
            /* [retval][out] */ AcSectionGeneration *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GenerationOptions( 
            /* [in] */ AcSectionGeneration val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SourceObjects( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SourceObjects( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DestinationBlock( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DestinationBlock( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DestinationFile( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DestinationFile( 
            /* [in] */ BSTR val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryLayer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryLayer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryLinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryLinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryPlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryPlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryLineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryLineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryDivisionLines( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryDivisionLines( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillVisible( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillVisible( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillHatchPatternType( 
            /* [retval][out] */ AcPatternType *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillHatchPatternType( 
            /* [in] */ AcPatternType val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillHatchPatternName( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillHatchPatternName( 
            /* [in] */ BSTR val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillHatchAngle( 
            /* [retval][out] */ ACAD_ANGLE *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillHatchAngle( 
            /* [in] */ ACAD_ANGLE val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillHatchScale( 
            /* [retval][out] */ ACAD_NOUNITS *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillHatchScale( 
            /* [in] */ ACAD_NOUNITS val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillHatchSpacing( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillHatchSpacing( 
            /* [in] */ double val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillLayer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillLayer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillLinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillLinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillPlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillPlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillLineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillLineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionFillFaceTransparency( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionFillFaceTransparency( 
            /* [in] */ long val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesVisible( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesVisible( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesHiddenLine( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesHiddenLine( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesLayer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesLayer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesLinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesLinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesPlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesPlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundLinesLineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundLinesLineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesVisible( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesVisible( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesHiddenLine( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesHiddenLine( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesLayer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesLayer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesLinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesLinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesPlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesPlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesLineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesLineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesFaceTransparency( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesFaceTransparency( 
            /* [in] */ long val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForegroundLinesEdgeTransparency( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForegroundLinesEdgeTransparency( 
            /* [in] */ long val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesVisible( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesVisible( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesLayer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesLayer( 
            /* [in] */ BSTR Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesLinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesLinetypeScale( 
            /* [in] */ ACAD_NOUNITS ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesPlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesPlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurveTangencyLinesLineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurveTangencyLinesLineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSectionTypeSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSectionTypeSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSectionTypeSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSectionTypeSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSectionTypeSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenerationOptions )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ AcSectionGeneration *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenerationOptions )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ AcSectionGeneration val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceObjects )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceObjects )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationBlock )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationBlock )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationFile )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationFile )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryColor )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryColor )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLayer )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLayer )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryDivisionLines )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryDivisionLines )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillVisible )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillVisible )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchPatternType )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ AcPatternType *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchPatternType )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ AcPatternType val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchPatternName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchPatternName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchAngle )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_ANGLE *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchAngle )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_ANGLE val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchSpacing )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchSpacing )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillColor )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillColor )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLayer )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLayer )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillFaceTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillFaceTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesHiddenLine )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesHiddenLine )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesHiddenLine )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesHiddenLine )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesFaceTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesFaceTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesEdgeTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesEdgeTransparency )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesVisible )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesColor )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLayer )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLinetype )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLinetypeScale )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesPlotStyleName )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLineweight )( 
            IAcadSectionTypeSettings * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        END_INTERFACE
    } IAcadSectionTypeSettingsVtbl;

    interface IAcadSectionTypeSettings
    {
        CONST_VTBL struct IAcadSectionTypeSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSectionTypeSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSectionTypeSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSectionTypeSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSectionTypeSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSectionTypeSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSectionTypeSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSectionTypeSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSectionTypeSettings_get_GenerationOptions(This,pVal)	\
    ( (This)->lpVtbl -> get_GenerationOptions(This,pVal) ) 

#define IAcadSectionTypeSettings_put_GenerationOptions(This,val)	\
    ( (This)->lpVtbl -> put_GenerationOptions(This,val) ) 

#define IAcadSectionTypeSettings_get_SourceObjects(This,pVal)	\
    ( (This)->lpVtbl -> get_SourceObjects(This,pVal) ) 

#define IAcadSectionTypeSettings_put_SourceObjects(This,val)	\
    ( (This)->lpVtbl -> put_SourceObjects(This,val) ) 

#define IAcadSectionTypeSettings_get_DestinationBlock(This,pVal)	\
    ( (This)->lpVtbl -> get_DestinationBlock(This,pVal) ) 

#define IAcadSectionTypeSettings_put_DestinationBlock(This,val)	\
    ( (This)->lpVtbl -> put_DestinationBlock(This,val) ) 

#define IAcadSectionTypeSettings_get_DestinationFile(This,pVal)	\
    ( (This)->lpVtbl -> get_DestinationFile(This,pVal) ) 

#define IAcadSectionTypeSettings_put_DestinationFile(This,val)	\
    ( (This)->lpVtbl -> put_DestinationFile(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryColor(This,pColor) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryColor(This,pColor) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_get_IntersectionBoundaryDivisionLines(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryDivisionLines(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionBoundaryDivisionLines(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryDivisionLines(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillVisible(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillVisible(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillVisible(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillHatchPatternType(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchPatternType(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillHatchPatternType(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchPatternType(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillHatchPatternName(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchPatternName(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillHatchPatternName(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchPatternName(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillHatchAngle(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchAngle(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillHatchAngle(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchAngle(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillHatchScale(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchScale(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillHatchScale(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchScale(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillHatchSpacing(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchSpacing(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillHatchSpacing(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchSpacing(This,val) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IntersectionFillColor(This,pColor) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IntersectionFillColor(This,pColor) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_IntersectionFillLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_IntersectionFillLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_IntersectionFillLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_IntersectionFillLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_IntersectionFillLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_IntersectionFillLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_IntersectionFillPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_IntersectionFillPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_IntersectionFillLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_IntersectionFillLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_get_IntersectionFillFaceTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillFaceTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings_put_IntersectionFillFaceTransparency(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillFaceTransparency(This,val) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_BackgroundLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_BackgroundLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesHiddenLine(This,pVal)	\
    ( (This)->lpVtbl -> get_BackgroundLinesHiddenLine(This,pVal) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesHiddenLine(This,val)	\
    ( (This)->lpVtbl -> put_BackgroundLinesHiddenLine(This,val) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_BackgroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_BackgroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_BackgroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_BackgroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_get_BackgroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_put_BackgroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesHiddenLine(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesHiddenLine(This,pVal) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesHiddenLine(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesHiddenLine(This,val) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_ForegroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_ForegroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_ForegroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_ForegroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesFaceTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesFaceTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesFaceTransparency(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesFaceTransparency(This,val) ) 

#define IAcadSectionTypeSettings_get_ForegroundLinesEdgeTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesEdgeTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings_put_ForegroundLinesEdgeTransparency(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesEdgeTransparency(This,val) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings_get_CurveTangencyLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings_put_CurveTangencyLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLineweight(This,lineweight) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSectionTypeSettings_INTERFACE_DEFINED__ */


#ifndef __IAcadSectionTypeSettings2_INTERFACE_DEFINED__
#define __IAcadSectionTypeSettings2_INTERFACE_DEFINED__

/* interface IAcadSectionTypeSettings2 */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSectionTypeSettings2,0x582E8C48,0x77C8,0x4619,0xB0,0x1B,0x6B,0x4D,0xB4,0x27,0x94,0x8F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("582E8C48-77C8-4619-B01B-6B4DB427948F")
    IAcadSectionTypeSettings2 : public IAcadSectionTypeSettings
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntersectionBoundaryVisible( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntersectionBoundaryVisible( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSectionTypeSettings2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSectionTypeSettings2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSectionTypeSettings2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSectionTypeSettings2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSectionTypeSettings2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GenerationOptions )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ AcSectionGeneration *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GenerationOptions )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ AcSectionGeneration val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SourceObjects )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SourceObjects )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationBlock )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationBlock )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DestinationFile )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DestinationFile )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryDivisionLines )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryDivisionLines )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchPatternType )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ AcPatternType *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchPatternType )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ AcPatternType val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchPatternName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchPatternName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchAngle )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_ANGLE *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchAngle )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_ANGLE val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillHatchSpacing )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillHatchSpacing )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionFillFaceTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionFillFaceTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesHiddenLine )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesHiddenLine )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesHiddenLine )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesHiddenLine )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesFaceTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesFaceTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForegroundLinesEdgeTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForegroundLinesEdgeTransparency )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ long val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesColor )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLayer )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLinetype )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLinetypeScale )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesPlotStyleName )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurveTangencyLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurveTangencyLinesLineweight )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntersectionBoundaryVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntersectionBoundaryVisible )( 
            IAcadSectionTypeSettings2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        END_INTERFACE
    } IAcadSectionTypeSettings2Vtbl;

    interface IAcadSectionTypeSettings2
    {
        CONST_VTBL struct IAcadSectionTypeSettings2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSectionTypeSettings2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSectionTypeSettings2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSectionTypeSettings2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSectionTypeSettings2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSectionTypeSettings2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSectionTypeSettings2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSectionTypeSettings2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSectionTypeSettings2_get_GenerationOptions(This,pVal)	\
    ( (This)->lpVtbl -> get_GenerationOptions(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_GenerationOptions(This,val)	\
    ( (This)->lpVtbl -> put_GenerationOptions(This,val) ) 

#define IAcadSectionTypeSettings2_get_SourceObjects(This,pVal)	\
    ( (This)->lpVtbl -> get_SourceObjects(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_SourceObjects(This,val)	\
    ( (This)->lpVtbl -> put_SourceObjects(This,val) ) 

#define IAcadSectionTypeSettings2_get_DestinationBlock(This,pVal)	\
    ( (This)->lpVtbl -> get_DestinationBlock(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_DestinationBlock(This,val)	\
    ( (This)->lpVtbl -> put_DestinationBlock(This,val) ) 

#define IAcadSectionTypeSettings2_get_DestinationFile(This,pVal)	\
    ( (This)->lpVtbl -> get_DestinationFile(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_DestinationFile(This,val)	\
    ( (This)->lpVtbl -> put_DestinationFile(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_get_IntersectionBoundaryDivisionLines(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryDivisionLines(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryDivisionLines(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryDivisionLines(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillVisible(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillVisible(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillVisible(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillHatchPatternType(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchPatternType(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillHatchPatternType(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchPatternType(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillHatchPatternName(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchPatternName(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillHatchPatternName(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchPatternName(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillHatchAngle(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchAngle(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillHatchAngle(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchAngle(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillHatchScale(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchScale(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillHatchScale(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchScale(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillHatchSpacing(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillHatchSpacing(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillHatchSpacing(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillHatchSpacing(This,val) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IntersectionFillColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IntersectionFillColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_IntersectionFillLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_IntersectionFillLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_IntersectionFillLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_IntersectionFillLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_IntersectionFillLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_IntersectionFillLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_IntersectionFillPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_IntersectionFillPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_IntersectionFillLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_IntersectionFillLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_get_IntersectionFillFaceTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionFillFaceTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionFillFaceTransparency(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionFillFaceTransparency(This,val) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_BackgroundLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_BackgroundLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesHiddenLine(This,pVal)	\
    ( (This)->lpVtbl -> get_BackgroundLinesHiddenLine(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesHiddenLine(This,val)	\
    ( (This)->lpVtbl -> put_BackgroundLinesHiddenLine(This,val) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_BackgroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_BackgroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_BackgroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_BackgroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_get_BackgroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_BackgroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_put_BackgroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_BackgroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesHiddenLine(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesHiddenLine(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesHiddenLine(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesHiddenLine(This,val) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_ForegroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_ForegroundLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_ForegroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_ForegroundLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_ForegroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_ForegroundLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesFaceTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesFaceTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesFaceTransparency(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesFaceTransparency(This,val) ) 

#define IAcadSectionTypeSettings2_get_ForegroundLinesEdgeTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_ForegroundLinesEdgeTransparency(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_ForegroundLinesEdgeTransparency(This,val)	\
    ( (This)->lpVtbl -> put_ForegroundLinesEdgeTransparency(This,val) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesVisible(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesVisible(This,val)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesVisible(This,val) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesColor(This,pColor)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesColor(This,pColor) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesLayer(This,Layer)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLayer(This,Layer) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLinetype(This,Linetype) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesLinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLinetypeScale(This,ltScale) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesPlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesPlotStyleName(This,plotStyle) ) 

#define IAcadSectionTypeSettings2_get_CurveTangencyLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_CurveTangencyLinesLineweight(This,lineweight) ) 

#define IAcadSectionTypeSettings2_put_CurveTangencyLinesLineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_CurveTangencyLinesLineweight(This,lineweight) ) 


#define IAcadSectionTypeSettings2_get_IntersectionBoundaryVisible(This,pVal)	\
    ( (This)->lpVtbl -> get_IntersectionBoundaryVisible(This,pVal) ) 

#define IAcadSectionTypeSettings2_put_IntersectionBoundaryVisible(This,val)	\
    ( (This)->lpVtbl -> put_IntersectionBoundaryVisible(This,val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSectionTypeSettings2_INTERFACE_DEFINED__ */


#ifndef __IAcadHyperlink_INTERFACE_DEFINED__
#define __IAcadHyperlink_INTERFACE_DEFINED__

/* interface IAcadHyperlink */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadHyperlink,0xCC23E5E1,0x428F,0x40E6,0xB1,0x6E,0x54,0x75,0x3A,0x1D,0x56,0xB2);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CC23E5E1-428F-40E6-B16E-54753A1D56B2")
    IAcadHyperlink : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
            /* [in] */ BSTR URLPath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
            /* [retval][out] */ BSTR *URLPath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_URLDescription( 
            /* [in] */ BSTR Description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_URLDescription( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *ApplicationObject) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_URLNamedLocation( 
            /* [in] */ BSTR Location) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_URLNamedLocation( 
            /* [retval][out] */ BSTR *Location) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadHyperlinkVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadHyperlink * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadHyperlink * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadHyperlink * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadHyperlink * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadHyperlink * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadHyperlink * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadHyperlink * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URL )( 
            IAcadHyperlink * This,
            /* [in] */ BSTR URLPath);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URL )( 
            IAcadHyperlink * This,
            /* [retval][out] */ BSTR *URLPath);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URLDescription )( 
            IAcadHyperlink * This,
            /* [in] */ BSTR Description);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URLDescription )( 
            IAcadHyperlink * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadHyperlink * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadHyperlink * This);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_URLNamedLocation )( 
            IAcadHyperlink * This,
            /* [in] */ BSTR Location);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_URLNamedLocation )( 
            IAcadHyperlink * This,
            /* [retval][out] */ BSTR *Location);
        
        END_INTERFACE
    } IAcadHyperlinkVtbl;

    interface IAcadHyperlink
    {
        CONST_VTBL struct IAcadHyperlinkVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadHyperlink_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadHyperlink_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadHyperlink_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadHyperlink_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadHyperlink_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadHyperlink_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadHyperlink_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadHyperlink_put_URL(This,URLPath)	\
    ( (This)->lpVtbl -> put_URL(This,URLPath) ) 

#define IAcadHyperlink_get_URL(This,URLPath)	\
    ( (This)->lpVtbl -> get_URL(This,URLPath) ) 

#define IAcadHyperlink_put_URLDescription(This,Description)	\
    ( (This)->lpVtbl -> put_URLDescription(This,Description) ) 

#define IAcadHyperlink_get_URLDescription(This,Description)	\
    ( (This)->lpVtbl -> get_URLDescription(This,Description) ) 

#define IAcadHyperlink_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadHyperlink_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadHyperlink_put_URLNamedLocation(This,Location)	\
    ( (This)->lpVtbl -> put_URLNamedLocation(This,Location) ) 

#define IAcadHyperlink_get_URLNamedLocation(This,Location)	\
    ( (This)->lpVtbl -> get_URLNamedLocation(This,Location) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadHyperlink_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadHyperlink,0x99B752A9,0x7BBA,0x4E72,0x9D,0x1E,0x98,0x4E,0xC8,0xC0,0x0D,0x01);

#ifdef __cplusplus

class DECLSPEC_UUID("99B752A9-7BBA-4E72-9D1E-984EC8C00D01")
AcadHyperlink;
#endif

#ifndef __IAcadDynamicBlockReferenceProperty_INTERFACE_DEFINED__
#define __IAcadDynamicBlockReferenceProperty_INTERFACE_DEFINED__

/* interface IAcadDynamicBlockReferenceProperty */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDynamicBlockReferenceProperty,0x286832FF,0xDEC6,0x40DC,0xAE,0xFB,0xE3,0xC4,0x16,0x2D,0xAC,0xE9);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("286832FF-DEC6-40DC-AEFB-E3C4162DACE9")
    IAcadDynamicBlockReferenceProperty : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PropertyName( 
            /* [retval][out] */ BSTR *propertyName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *readOnly) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Show( 
            /* [retval][out] */ VARIANT_BOOL *show) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *Description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AllowedValues( 
            /* [retval][out] */ VARIANT *AllowedValues) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ VARIANT *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value( 
            /* [in] */ VARIANT Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_UnitsType( 
            /* [retval][out] */ AcDynamicBlockReferencePropertyUnitsType *units) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDynamicBlockReferencePropertyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDynamicBlockReferenceProperty * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDynamicBlockReferenceProperty * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PropertyName )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ BSTR *propertyName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ VARIANT_BOOL *readOnly);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Show )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ VARIANT_BOOL *show);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ BSTR *Description);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowedValues )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ VARIANT *AllowedValues);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ VARIANT *Value);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Value )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [in] */ VARIANT Value);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsType )( 
            IAcadDynamicBlockReferenceProperty * This,
            /* [retval][out] */ AcDynamicBlockReferencePropertyUnitsType *units);
        
        END_INTERFACE
    } IAcadDynamicBlockReferencePropertyVtbl;

    interface IAcadDynamicBlockReferenceProperty
    {
        CONST_VTBL struct IAcadDynamicBlockReferencePropertyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDynamicBlockReferenceProperty_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDynamicBlockReferenceProperty_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDynamicBlockReferenceProperty_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDynamicBlockReferenceProperty_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDynamicBlockReferenceProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDynamicBlockReferenceProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDynamicBlockReferenceProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDynamicBlockReferenceProperty_get_PropertyName(This,propertyName)	\
    ( (This)->lpVtbl -> get_PropertyName(This,propertyName) ) 

#define IAcadDynamicBlockReferenceProperty_get_ReadOnly(This,readOnly)	\
    ( (This)->lpVtbl -> get_ReadOnly(This,readOnly) ) 

#define IAcadDynamicBlockReferenceProperty_get_Show(This,show)	\
    ( (This)->lpVtbl -> get_Show(This,show) ) 

#define IAcadDynamicBlockReferenceProperty_get_Description(This,Description)	\
    ( (This)->lpVtbl -> get_Description(This,Description) ) 

#define IAcadDynamicBlockReferenceProperty_get_AllowedValues(This,AllowedValues)	\
    ( (This)->lpVtbl -> get_AllowedValues(This,AllowedValues) ) 

#define IAcadDynamicBlockReferenceProperty_get_Value(This,Value)	\
    ( (This)->lpVtbl -> get_Value(This,Value) ) 

#define IAcadDynamicBlockReferenceProperty_put_Value(This,Value)	\
    ( (This)->lpVtbl -> put_Value(This,Value) ) 

#define IAcadDynamicBlockReferenceProperty_get_UnitsType(This,units)	\
    ( (This)->lpVtbl -> get_UnitsType(This,units) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDynamicBlockReferenceProperty_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDynamicBlockReferenceProperty,0xCD63B846,0x475A,0x47B0,0xA9,0x6C,0xC9,0xFD,0x2B,0x5D,0x5A,0x86);

#ifdef __cplusplus

class DECLSPEC_UUID("CD63B846-475A-47B0-A96C-C9FD2B5D5A86")
AcadDynamicBlockReferenceProperty;
#endif

#ifndef __IAcadAcCmColor_INTERFACE_DEFINED__
#define __IAcadAcCmColor_INTERFACE_DEFINED__

/* interface IAcadAcCmColor */
/* [unique][helpstringcontext][helpcontext][uuid][dual][object] */ 


DEFINE_GUID(IID_IAcadAcCmColor,0x92A6C8C4,0x76EB,0x4730,0xA8,0x0A,0x8B,0x3B,0x94,0x48,0x1C,0x85);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("92A6C8C4-76EB-4730-A80A-8B3B94481C85")
    IAcadAcCmColor : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EntityColor( 
            /* [in] */ long eColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EntityColor( 
            /* [retval][out] */ long *eColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BookName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetNames( 
            /* [in] */ BSTR colorName,
            /* [in] */ BSTR bookName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Red( 
            /* [retval][out] */ long *red) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Blue( 
            /* [retval][out] */ long *blue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Green( 
            /* [retval][out] */ long *green) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetRGB( 
            /* [in] */ long red,
            /* [in] */ long green,
            /* [in] */ long blue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ColorMethod( 
            /* [in] */ AcColorMethod Flags) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorMethod( 
            /* [retval][out] */ AcColorMethod *Flags) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorIndex( 
            /* [retval][out] */ AcColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ColorIndex( 
            /* [in] */ AcColor color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetColorBookColor( 
            /* [in] */ BSTR bookName,
            /* [in] */ BSTR colorName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadAcCmColorVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadAcCmColor * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadAcCmColor * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadAcCmColor * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadAcCmColor * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadAcCmColor * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadAcCmColor * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadAcCmColor * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityColor )( 
            IAcadAcCmColor * This,
            /* [in] */ long eColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityColor )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ long *eColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorName )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BookName )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetNames )( 
            IAcadAcCmColor * This,
            /* [in] */ BSTR colorName,
            /* [in] */ BSTR bookName);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadAcCmColor * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Red )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ long *red);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Blue )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ long *blue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Green )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ long *green);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetRGB )( 
            IAcadAcCmColor * This,
            /* [in] */ long red,
            /* [in] */ long green,
            /* [in] */ long blue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorMethod )( 
            IAcadAcCmColor * This,
            /* [in] */ AcColorMethod Flags);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorMethod )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ AcColorMethod *Flags);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorIndex )( 
            IAcadAcCmColor * This,
            /* [retval][out] */ AcColor *color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorIndex )( 
            IAcadAcCmColor * This,
            /* [in] */ AcColor color);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetColorBookColor )( 
            IAcadAcCmColor * This,
            /* [in] */ BSTR bookName,
            /* [in] */ BSTR colorName);
        
        END_INTERFACE
    } IAcadAcCmColorVtbl;

    interface IAcadAcCmColor
    {
        CONST_VTBL struct IAcadAcCmColorVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadAcCmColor_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadAcCmColor_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadAcCmColor_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadAcCmColor_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadAcCmColor_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadAcCmColor_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadAcCmColor_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadAcCmColor_put_EntityColor(This,eColor)	\
    ( (This)->lpVtbl -> put_EntityColor(This,eColor) ) 

#define IAcadAcCmColor_get_EntityColor(This,eColor)	\
    ( (This)->lpVtbl -> get_EntityColor(This,eColor) ) 

#define IAcadAcCmColor_get_ColorName(This,Name)	\
    ( (This)->lpVtbl -> get_ColorName(This,Name) ) 

#define IAcadAcCmColor_get_BookName(This,Name)	\
    ( (This)->lpVtbl -> get_BookName(This,Name) ) 

#define IAcadAcCmColor_SetNames(This,colorName,bookName)	\
    ( (This)->lpVtbl -> SetNames(This,colorName,bookName) ) 

#define IAcadAcCmColor_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadAcCmColor_get_Red(This,red)	\
    ( (This)->lpVtbl -> get_Red(This,red) ) 

#define IAcadAcCmColor_get_Blue(This,blue)	\
    ( (This)->lpVtbl -> get_Blue(This,blue) ) 

#define IAcadAcCmColor_get_Green(This,green)	\
    ( (This)->lpVtbl -> get_Green(This,green) ) 

#define IAcadAcCmColor_SetRGB(This,red,green,blue)	\
    ( (This)->lpVtbl -> SetRGB(This,red,green,blue) ) 

#define IAcadAcCmColor_put_ColorMethod(This,Flags)	\
    ( (This)->lpVtbl -> put_ColorMethod(This,Flags) ) 

#define IAcadAcCmColor_get_ColorMethod(This,Flags)	\
    ( (This)->lpVtbl -> get_ColorMethod(This,Flags) ) 

#define IAcadAcCmColor_get_ColorIndex(This,color)	\
    ( (This)->lpVtbl -> get_ColorIndex(This,color) ) 

#define IAcadAcCmColor_put_ColorIndex(This,color)	\
    ( (This)->lpVtbl -> put_ColorIndex(This,color) ) 

#define IAcadAcCmColor_SetColorBookColor(This,bookName,colorName)	\
    ( (This)->lpVtbl -> SetColorBookColor(This,bookName,colorName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadAcCmColor_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadAcCmColor,0x45431B7A,0xBE41,0x4395,0xB7,0x30,0x27,0x77,0x2D,0x84,0xE9,0xFF);

#ifdef __cplusplus

class DECLSPEC_UUID("45431B7A-BE41-4395-B730-27772D84E9FF")
AcadAcCmColor;
#endif

#ifndef __IAcadObjectEvents_INTERFACE_DEFINED__
#define __IAcadObjectEvents_INTERFACE_DEFINED__

/* interface IAcadObjectEvents */
/* [unique][helpstringcontext][uuid][oleautomation][object] */ 


DEFINE_GUID(IID_IAcadObjectEvents,0x9CD05EFC,0x60A7,0x49B4,0xAE,0x3A,0xA6,0xEC,0xDB,0x88,0xA6,0x1A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CD05EFC-60A7-49B4-AE3A-A6ECDB88A61A")
    IAcadObjectEvents : public IUnknown
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Modified( 
            /* [in] */ IAcadObject *pObject) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadObjectEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadObjectEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadObjectEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadObjectEvents * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Modified )( 
            IAcadObjectEvents * This,
            /* [in] */ IAcadObject *pObject);
        
        END_INTERFACE
    } IAcadObjectEventsVtbl;

    interface IAcadObjectEvents
    {
        CONST_VTBL struct IAcadObjectEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadObjectEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadObjectEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadObjectEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadObjectEvents_Modified(This,pObject)	\
    ( (This)->lpVtbl -> Modified(This,pObject) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadObjectEvents_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadObject,0xE031C9AC,0x9DA8,0x4F4A,0xB1,0xDC,0xA9,0x1A,0x28,0x78,0xBF,0xDC);

#ifdef __cplusplus

class DECLSPEC_UUID("E031C9AC-9DA8-4F4A-B1DC-A91A2878BFDC")
AcadObject;
#endif

#ifndef __IAcadXRecord_INTERFACE_DEFINED__
#define __IAcadXRecord_INTERFACE_DEFINED__

/* interface IAcadXRecord */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadXRecord,0x6D66039A,0x2893,0x48EF,0x8F,0x46,0x59,0x89,0xAE,0xDB,0x38,0x2A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6D66039A-2893-48EF-8F46-5989AEDB382A")
    IAcadXRecord : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetXRecordData( 
            /* [out] */ VARIANT *XRecordDataType,
            /* [out] */ VARIANT *XRecordDataValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetXRecordData( 
            /* [in] */ VARIANT XRecordDataType,
            /* [in] */ VARIANT XRecordDataValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TranslateIDs( 
            /* [retval][out] */ VARIANT_BOOL *xlateIds) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TranslateIDs( 
            /* [in] */ VARIANT_BOOL xlateIds) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadXRecordVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadXRecord * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadXRecord * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadXRecord * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadXRecord * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadXRecord * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadXRecord * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadXRecord * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadXRecord * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadXRecord * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadXRecord * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadXRecord * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadXRecord * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadXRecord * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadXRecord * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadXRecord * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadXRecord * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadXRecord * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadXRecord * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadXRecord * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadXRecord * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadXRecord * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadXRecord * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXRecordData )( 
            IAcadXRecord * This,
            /* [out] */ VARIANT *XRecordDataType,
            /* [out] */ VARIANT *XRecordDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXRecordData )( 
            IAcadXRecord * This,
            /* [in] */ VARIANT XRecordDataType,
            /* [in] */ VARIANT XRecordDataValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TranslateIDs )( 
            IAcadXRecord * This,
            /* [retval][out] */ VARIANT_BOOL *xlateIds);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TranslateIDs )( 
            IAcadXRecord * This,
            /* [in] */ VARIANT_BOOL xlateIds);
        
        END_INTERFACE
    } IAcadXRecordVtbl;

    interface IAcadXRecord
    {
        CONST_VTBL struct IAcadXRecordVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadXRecord_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadXRecord_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadXRecord_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadXRecord_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadXRecord_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadXRecord_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadXRecord_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadXRecord_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadXRecord_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadXRecord_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadXRecord_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadXRecord_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadXRecord_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadXRecord_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadXRecord_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadXRecord_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadXRecord_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadXRecord_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadXRecord_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadXRecord_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadXRecord_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadXRecord_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadXRecord_GetXRecordData(This,XRecordDataType,XRecordDataValue)	\
    ( (This)->lpVtbl -> GetXRecordData(This,XRecordDataType,XRecordDataValue) ) 

#define IAcadXRecord_SetXRecordData(This,XRecordDataType,XRecordDataValue)	\
    ( (This)->lpVtbl -> SetXRecordData(This,XRecordDataType,XRecordDataValue) ) 

#define IAcadXRecord_get_TranslateIDs(This,xlateIds)	\
    ( (This)->lpVtbl -> get_TranslateIDs(This,xlateIds) ) 

#define IAcadXRecord_put_TranslateIDs(This,xlateIds)	\
    ( (This)->lpVtbl -> put_TranslateIDs(This,xlateIds) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadXRecord_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadXRecord,0x0D1486F5,0xE8D5,0x4D9F,0x99,0x61,0xAA,0x18,0xB3,0x6A,0x53,0x84);

#ifdef __cplusplus

class DECLSPEC_UUID("0D1486F5-E8D5-4D9F-9961-AA18B36A5384")
AcadXRecord;
#endif

#ifndef __IAcadSortentsTable_INTERFACE_DEFINED__
#define __IAcadSortentsTable_INTERFACE_DEFINED__

/* interface IAcadSortentsTable */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSortentsTable,0xF58B6A18,0x00DA,0x4B3F,0xBA,0x8B,0x5B,0x1B,0x09,0xD0,0x5C,0x93);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F58B6A18-00DA-4B3F-BA8B-5B1B09D05C93")
    IAcadSortentsTable : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveToBottom( 
            /* [in] */ VARIANT Objects) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveToTop( 
            /* [in] */ VARIANT Objects) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveBelow( 
            /* [in] */ VARIANT Objects,
            /* [in] */ IAcadEntity *Target) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveAbove( 
            /* [in] */ VARIANT Objects,
            /* [in] */ IAcadEntity *Target) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SwapOrder( 
            /* [in] */ IAcadEntity *Object1,
            /* [in] */ IAcadEntity *Object2) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Block( 
            /* [retval][out] */ IAcadBlock **pBlock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFullDrawOrder( 
            /* [out] */ VARIANT *Objects,
            /* [in] */ VARIANT_BOOL honorSortentsSysvar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRelativeDrawOrder( 
            /* [out] */ VARIANT *Objects,
            /* [in] */ VARIANT_BOOL honorSortentsSysvar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetRelativeDrawOrder( 
            /* [in] */ VARIANT Objects) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSortentsTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSortentsTable * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSortentsTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSortentsTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSortentsTable * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSortentsTable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSortentsTable * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSortentsTable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSortentsTable * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSortentsTable * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSortentsTable * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveToBottom )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT Objects);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveToTop )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT Objects);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveBelow )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT Objects,
            /* [in] */ IAcadEntity *Target);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveAbove )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT Objects,
            /* [in] */ IAcadEntity *Target);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SwapOrder )( 
            IAcadSortentsTable * This,
            /* [in] */ IAcadEntity *Object1,
            /* [in] */ IAcadEntity *Object2);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Block )( 
            IAcadSortentsTable * This,
            /* [retval][out] */ IAcadBlock **pBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFullDrawOrder )( 
            IAcadSortentsTable * This,
            /* [out] */ VARIANT *Objects,
            /* [in] */ VARIANT_BOOL honorSortentsSysvar);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRelativeDrawOrder )( 
            IAcadSortentsTable * This,
            /* [out] */ VARIANT *Objects,
            /* [in] */ VARIANT_BOOL honorSortentsSysvar);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetRelativeDrawOrder )( 
            IAcadSortentsTable * This,
            /* [in] */ VARIANT Objects);
        
        END_INTERFACE
    } IAcadSortentsTableVtbl;

    interface IAcadSortentsTable
    {
        CONST_VTBL struct IAcadSortentsTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSortentsTable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSortentsTable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSortentsTable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSortentsTable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSortentsTable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSortentsTable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSortentsTable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSortentsTable_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSortentsTable_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSortentsTable_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSortentsTable_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSortentsTable_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSortentsTable_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSortentsTable_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSortentsTable_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSortentsTable_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSortentsTable_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSortentsTable_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSortentsTable_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSortentsTable_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSortentsTable_MoveToBottom(This,Objects)	\
    ( (This)->lpVtbl -> MoveToBottom(This,Objects) ) 

#define IAcadSortentsTable_MoveToTop(This,Objects)	\
    ( (This)->lpVtbl -> MoveToTop(This,Objects) ) 

#define IAcadSortentsTable_MoveBelow(This,Objects,Target)	\
    ( (This)->lpVtbl -> MoveBelow(This,Objects,Target) ) 

#define IAcadSortentsTable_MoveAbove(This,Objects,Target)	\
    ( (This)->lpVtbl -> MoveAbove(This,Objects,Target) ) 

#define IAcadSortentsTable_SwapOrder(This,Object1,Object2)	\
    ( (This)->lpVtbl -> SwapOrder(This,Object1,Object2) ) 

#define IAcadSortentsTable_Block(This,pBlock)	\
    ( (This)->lpVtbl -> Block(This,pBlock) ) 

#define IAcadSortentsTable_GetFullDrawOrder(This,Objects,honorSortentsSysvar)	\
    ( (This)->lpVtbl -> GetFullDrawOrder(This,Objects,honorSortentsSysvar) ) 

#define IAcadSortentsTable_GetRelativeDrawOrder(This,Objects,honorSortentsSysvar)	\
    ( (This)->lpVtbl -> GetRelativeDrawOrder(This,Objects,honorSortentsSysvar) ) 

#define IAcadSortentsTable_SetRelativeDrawOrder(This,Objects)	\
    ( (This)->lpVtbl -> SetRelativeDrawOrder(This,Objects) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSortentsTable_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSortentsTable,0x5EB6721F,0x506E,0x4817,0xB3,0xBF,0xA4,0x90,0x2D,0xDB,0x21,0xAE);

#ifdef __cplusplus

class DECLSPEC_UUID("5EB6721F-506E-4817-B3BF-A4902DDB21AE")
AcadSortentsTable;
#endif

#ifndef __IAcadDimStyle_INTERFACE_DEFINED__
#define __IAcadDimStyle_INTERFACE_DEFINED__

/* interface IAcadDimStyle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimStyle,0xB9A55706,0xC26D,0x44B3,0xA0,0x4E,0x1D,0x1D,0xAD,0xCD,0xE4,0xFF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B9A55706-C26D-44B3-A04E-1D1DADCDE4FF")
    IAcadDimStyle : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyFrom( 
            /* [in] */ IDispatch *StyleSource) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimStyle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimStyle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimStyle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimStyle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimStyle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimStyle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimStyle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimStyle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimStyle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimStyle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimStyle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimStyle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimStyle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadDimStyle * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadDimStyle * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFrom )( 
            IAcadDimStyle * This,
            /* [in] */ IDispatch *StyleSource);
        
        END_INTERFACE
    } IAcadDimStyleVtbl;

    interface IAcadDimStyle
    {
        CONST_VTBL struct IAcadDimStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimStyle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimStyle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimStyle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimStyle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimStyle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimStyle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimStyle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimStyle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimStyle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimStyle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimStyle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimStyle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimStyle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimStyle_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadDimStyle_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadDimStyle_CopyFrom(This,StyleSource)	\
    ( (This)->lpVtbl -> CopyFrom(This,StyleSource) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDimStyle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimStyle,0x3E896FA0,0xD2EF,0x4800,0xB7,0x71,0x08,0x95,0x6A,0x38,0x6A,0xCF);

#ifdef __cplusplus

class DECLSPEC_UUID("3E896FA0-D2EF-4800-B771-08956A386ACF")
AcadDimStyle;
#endif

#ifndef __IAcadLayer_INTERFACE_DEFINED__
#define __IAcadLayer_INTERFACE_DEFINED__

/* interface IAcadLayer */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLayer,0x6AD6CAF8,0x6912,0x4AAD,0x90,0x98,0x0D,0x9F,0x7E,0xEE,0x65,0x4E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6AD6CAF8-6912-4AAD-9098-0D9F7EEE654E")
    IAcadLayer : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ AcColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ AcColor color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TrueColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TrueColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Freeze( 
            /* [retval][out] */ VARIANT_BOOL *bFreeze) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Freeze( 
            /* [in] */ VARIANT_BOOL bFreeze) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LayerOn( 
            /* [retval][out] */ VARIANT_BOOL *bOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LayerOn( 
            /* [in] */ VARIANT_BOOL bOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR *lineType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR lineType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Lock( 
            /* [retval][out] */ VARIANT_BOOL *bLock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Lock( 
            /* [in] */ VARIANT_BOOL bLock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Plottable( 
            /* [retval][out] */ VARIANT_BOOL *bPlottable) = 0;
        
        virtual /* [helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Plottable( 
            /* [in] */ VARIANT_BOOL bPlottable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ViewportDefault( 
            /* [retval][out] */ VARIANT_BOOL *bDefault) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ViewportDefault( 
            /* [in] */ VARIANT_BOOL bDefault) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_PlotStyleName( 
            /* [in] */ BSTR plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Lineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Lineweight( 
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Used( 
            /* [retval][out] */ VARIANT_BOOL *bUsed) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Material( 
            /* [retval][out] */ BSTR *Material) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Material( 
            /* [in] */ BSTR Material) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLayerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLayer * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLayer * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLayer * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLayer * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLayer * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLayer * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLayer * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLayer * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLayer * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLayer * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLayer * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLayer * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLayer * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLayer * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLayer * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLayer * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLayer * This);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadLayer * This,
            /* [retval][out] */ AcColor *color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadLayer * This,
            /* [in] */ AcColor color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadLayer * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadLayer * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Freeze )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bFreeze);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Freeze )( 
            IAcadLayer * This,
            /* [in] */ VARIANT_BOOL bFreeze);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayerOn )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayerOn )( 
            IAcadLayer * This,
            /* [in] */ VARIANT_BOOL bOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *lineType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadLayer * This,
            /* [in] */ BSTR lineType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Lock )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bLock);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Lock )( 
            IAcadLayer * This,
            /* [in] */ VARIANT_BOOL bLock);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadLayer * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Plottable )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bPlottable);
        
        /* [helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Plottable )( 
            IAcadLayer * This,
            /* [in] */ VARIANT_BOOL bPlottable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewportDefault )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bDefault);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewportDefault )( 
            IAcadLayer * This,
            /* [in] */ VARIANT_BOOL bDefault);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadLayer * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadLayer * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadLayer * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *description);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IAcadLayer * This,
            /* [in] */ BSTR description);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Used )( 
            IAcadLayer * This,
            /* [retval][out] */ VARIANT_BOOL *bUsed);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadLayer * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadLayer * This,
            /* [in] */ BSTR Material);
        
        END_INTERFACE
    } IAcadLayerVtbl;

    interface IAcadLayer
    {
        CONST_VTBL struct IAcadLayerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLayer_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLayer_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLayer_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLayer_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLayer_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLayer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLayer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLayer_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLayer_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLayer_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLayer_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLayer_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLayer_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLayer_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLayer_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLayer_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLayer_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLayer_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLayer_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLayer_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLayer_get_Color(This,color)	\
    ( (This)->lpVtbl -> get_Color(This,color) ) 

#define IAcadLayer_put_Color(This,color)	\
    ( (This)->lpVtbl -> put_Color(This,color) ) 

#define IAcadLayer_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadLayer_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadLayer_get_Freeze(This,bFreeze)	\
    ( (This)->lpVtbl -> get_Freeze(This,bFreeze) ) 

#define IAcadLayer_put_Freeze(This,bFreeze)	\
    ( (This)->lpVtbl -> put_Freeze(This,bFreeze) ) 

#define IAcadLayer_get_LayerOn(This,bOn)	\
    ( (This)->lpVtbl -> get_LayerOn(This,bOn) ) 

#define IAcadLayer_put_LayerOn(This,bOn)	\
    ( (This)->lpVtbl -> put_LayerOn(This,bOn) ) 

#define IAcadLayer_get_Linetype(This,lineType)	\
    ( (This)->lpVtbl -> get_Linetype(This,lineType) ) 

#define IAcadLayer_put_Linetype(This,lineType)	\
    ( (This)->lpVtbl -> put_Linetype(This,lineType) ) 

#define IAcadLayer_get_Lock(This,bLock)	\
    ( (This)->lpVtbl -> get_Lock(This,bLock) ) 

#define IAcadLayer_put_Lock(This,bLock)	\
    ( (This)->lpVtbl -> put_Lock(This,bLock) ) 

#define IAcadLayer_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadLayer_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadLayer_get_Plottable(This,bPlottable)	\
    ( (This)->lpVtbl -> get_Plottable(This,bPlottable) ) 

#define IAcadLayer_put_Plottable(This,bPlottable)	\
    ( (This)->lpVtbl -> put_Plottable(This,bPlottable) ) 

#define IAcadLayer_get_ViewportDefault(This,bDefault)	\
    ( (This)->lpVtbl -> get_ViewportDefault(This,bDefault) ) 

#define IAcadLayer_put_ViewportDefault(This,bDefault)	\
    ( (This)->lpVtbl -> put_ViewportDefault(This,bDefault) ) 

#define IAcadLayer_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadLayer_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadLayer_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadLayer_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadLayer_get_Description(This,description)	\
    ( (This)->lpVtbl -> get_Description(This,description) ) 

#define IAcadLayer_put_Description(This,description)	\
    ( (This)->lpVtbl -> put_Description(This,description) ) 

#define IAcadLayer_get_Used(This,bUsed)	\
    ( (This)->lpVtbl -> get_Used(This,bUsed) ) 

#define IAcadLayer_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadLayer_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLayer_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLayer,0x3581812A,0x8232,0x4254,0x83,0x24,0xB4,0xF9,0xFA,0x19,0xAA,0xB3);

#ifdef __cplusplus

class DECLSPEC_UUID("3581812A-8232-4254-8324-B4F9FA19AAB3")
AcadLayer;
#endif

#ifndef __IAcadLineType_INTERFACE_DEFINED__
#define __IAcadLineType_INTERFACE_DEFINED__

/* interface IAcadLineType */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLineType,0x5DBC782D,0xD2C9,0x423D,0x92,0x6B,0xEB,0x2F,0xD7,0x3B,0x56,0x71);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5DBC782D-D2C9-423D-926B-EB2FD73B5671")
    IAcadLineType : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *bstrDes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR bstrDes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLineTypeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLineType * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLineType * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLineType * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLineType * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLineType * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLineType * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLineType * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLineType * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLineType * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLineType * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLineType * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLineType * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLineType * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLineType * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLineType * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLineType * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLineType * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLineType * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLineType * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLineType * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadLineType * This,
            /* [retval][out] */ BSTR *bstrDes);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IAcadLineType * This,
            /* [in] */ BSTR bstrDes);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadLineType * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadLineType * This,
            /* [in] */ BSTR bstrName);
        
        END_INTERFACE
    } IAcadLineTypeVtbl;

    interface IAcadLineType
    {
        CONST_VTBL struct IAcadLineTypeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLineType_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLineType_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLineType_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLineType_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLineType_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLineType_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLineType_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLineType_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLineType_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLineType_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLineType_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLineType_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLineType_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLineType_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLineType_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLineType_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLineType_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLineType_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLineType_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLineType_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLineType_get_Description(This,bstrDes)	\
    ( (This)->lpVtbl -> get_Description(This,bstrDes) ) 

#define IAcadLineType_put_Description(This,bstrDes)	\
    ( (This)->lpVtbl -> put_Description(This,bstrDes) ) 

#define IAcadLineType_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadLineType_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLineType_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLineType,0x0147D323,0xDE12,0x49EA,0xAF,0x59,0x6E,0xC6,0x02,0x9C,0x4D,0x1F);

#ifdef __cplusplus

class DECLSPEC_UUID("0147D323-DE12-49EA-AF59-6EC6029C4D1F")
AcadLineType;
#endif

#ifndef __IAcadMaterial_INTERFACE_DEFINED__
#define __IAcadMaterial_INTERFACE_DEFINED__

/* interface IAcadMaterial */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMaterial,0x79D94F3C,0xC0DF,0x405E,0xAA,0x31,0x20,0x59,0x9A,0xC8,0x2C,0x0B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("79D94F3C-C0DF-405E-AA31-20599AC82C0B")
    IAcadMaterial : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *bstrDes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR bstrDes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMaterialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMaterial * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMaterial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMaterial * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMaterial * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMaterial * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMaterial * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMaterial * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMaterial * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMaterial * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMaterial * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMaterial * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMaterial * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMaterial * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMaterial * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMaterial * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMaterial * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMaterial * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMaterial * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMaterial * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMaterial * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadMaterial * This,
            /* [retval][out] */ BSTR *bstrDes);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IAcadMaterial * This,
            /* [in] */ BSTR bstrDes);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadMaterial * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadMaterial * This,
            /* [in] */ BSTR bstrName);
        
        END_INTERFACE
    } IAcadMaterialVtbl;

    interface IAcadMaterial
    {
        CONST_VTBL struct IAcadMaterialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMaterial_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMaterial_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMaterial_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMaterial_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMaterial_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMaterial_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMaterial_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMaterial_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMaterial_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMaterial_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMaterial_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMaterial_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMaterial_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMaterial_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMaterial_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMaterial_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMaterial_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMaterial_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMaterial_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMaterial_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMaterial_get_Description(This,bstrDes)	\
    ( (This)->lpVtbl -> get_Description(This,bstrDes) ) 

#define IAcadMaterial_put_Description(This,bstrDes)	\
    ( (This)->lpVtbl -> put_Description(This,bstrDes) ) 

#define IAcadMaterial_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadMaterial_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMaterial_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMaterial,0x066BA626,0xF785,0x4874,0xAD,0xCB,0xA4,0xF4,0x2C,0xCB,0xE2,0x29);

#ifdef __cplusplus

class DECLSPEC_UUID("066BA626-F785-4874-ADCB-A4F42CCBE229")
AcadMaterial;
#endif

#ifndef __IAcadRegisteredApplication_INTERFACE_DEFINED__
#define __IAcadRegisteredApplication_INTERFACE_DEFINED__

/* interface IAcadRegisteredApplication */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRegisteredApplication,0xD34BAAA1,0x3F29,0x4539,0x9B,0xF9,0xF1,0xE3,0x0F,0x2B,0x9D,0x72);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D34BAAA1-3F29-4539-9BF9-F1E30F2B9D72")
    IAcadRegisteredApplication : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRegisteredApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRegisteredApplication * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRegisteredApplication * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRegisteredApplication * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRegisteredApplication * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRegisteredApplication * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRegisteredApplication * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRegisteredApplication * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRegisteredApplication * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRegisteredApplication * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRegisteredApplication * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRegisteredApplication * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadRegisteredApplication * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadRegisteredApplication * This,
            /* [in] */ BSTR bstrName);
        
        END_INTERFACE
    } IAcadRegisteredApplicationVtbl;

    interface IAcadRegisteredApplication
    {
        CONST_VTBL struct IAcadRegisteredApplicationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRegisteredApplication_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRegisteredApplication_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRegisteredApplication_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRegisteredApplication_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRegisteredApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRegisteredApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRegisteredApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRegisteredApplication_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRegisteredApplication_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRegisteredApplication_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRegisteredApplication_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRegisteredApplication_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRegisteredApplication_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRegisteredApplication_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRegisteredApplication_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRegisteredApplication_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRegisteredApplication_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRegisteredApplication_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRegisteredApplication_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRegisteredApplication_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRegisteredApplication_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadRegisteredApplication_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRegisteredApplication_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRegisteredApplication,0x5C4D00E2,0xE341,0x4F18,0x8A,0x51,0x87,0xE1,0x6F,0x02,0x48,0x73);

#ifdef __cplusplus

class DECLSPEC_UUID("5C4D00E2-E341-4F18-8A51-87E16F024873")
AcadRegisteredApplication;
#endif

#ifndef __IAcadTextStyle_INTERFACE_DEFINED__
#define __IAcadTextStyle_INTERFACE_DEFINED__

/* interface IAcadTextStyle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTextStyle,0x9BB0443F,0x825A,0x4C7B,0x81,0xC7,0x90,0xFB,0x62,0x07,0x46,0x30);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9BB0443F-825A-4C7B-81C7-90FB62074630")
    IAcadTextStyle : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BigFontFile( 
            /* [retval][out] */ BSTR *fontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BigFontFile( 
            /* [in] */ BSTR fontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FontFile( 
            /* [retval][out] */ BSTR *fontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FontFile( 
            /* [in] */ BSTR fontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LastHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LastHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ ACAD_ANGLE *obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ ACAD_ANGLE obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ long *textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ long textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFont( 
            /* [out] */ BSTR *TypeFace,
            /* [out] */ VARIANT_BOOL *Bold,
            /* [out] */ VARIANT_BOOL *Italic,
            /* [out] */ long *Charset,
            /* [out] */ long *PitchAndFamily) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE SetFont( 
            /* [in] */ BSTR TypeFace,
            /* [in] */ VARIANT_BOOL Bold,
            /* [in] */ VARIANT_BOOL Italic,
            /* [in] */ long Charset,
            /* [in] */ long PitchAndFamily) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTextStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTextStyle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTextStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTextStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTextStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTextStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTextStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTextStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTextStyle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTextStyle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTextStyle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTextStyle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTextStyle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTextStyle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTextStyle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTextStyle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTextStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTextStyle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTextStyle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTextStyle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTextStyle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BigFontFile )( 
            IAcadTextStyle * This,
            /* [retval][out] */ BSTR *fontFile);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BigFontFile )( 
            IAcadTextStyle * This,
            /* [in] */ BSTR fontFile);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FontFile )( 
            IAcadTextStyle * This,
            /* [retval][out] */ BSTR *fontFile);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FontFile )( 
            IAcadTextStyle * This,
            /* [in] */ BSTR fontFile);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadTextStyle * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadTextStyle * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastHeight )( 
            IAcadTextStyle * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LastHeight )( 
            IAcadTextStyle * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadTextStyle * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObliqueAngle )( 
            IAcadTextStyle * This,
            /* [retval][out] */ ACAD_ANGLE *obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObliqueAngle )( 
            IAcadTextStyle * This,
            /* [in] */ ACAD_ANGLE obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGenerationFlag )( 
            IAcadTextStyle * This,
            /* [retval][out] */ long *textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGenerationFlag )( 
            IAcadTextStyle * This,
            /* [in] */ long textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadTextStyle * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadTextStyle * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFont )( 
            IAcadTextStyle * This,
            /* [out] */ BSTR *TypeFace,
            /* [out] */ VARIANT_BOOL *Bold,
            /* [out] */ VARIANT_BOOL *Italic,
            /* [out] */ long *Charset,
            /* [out] */ long *PitchAndFamily);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFont )( 
            IAcadTextStyle * This,
            /* [in] */ BSTR TypeFace,
            /* [in] */ VARIANT_BOOL Bold,
            /* [in] */ VARIANT_BOOL Italic,
            /* [in] */ long Charset,
            /* [in] */ long PitchAndFamily);
        
        END_INTERFACE
    } IAcadTextStyleVtbl;

    interface IAcadTextStyle
    {
        CONST_VTBL struct IAcadTextStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTextStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTextStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTextStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTextStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTextStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTextStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTextStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTextStyle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTextStyle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTextStyle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTextStyle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTextStyle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTextStyle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTextStyle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTextStyle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTextStyle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTextStyle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTextStyle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTextStyle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTextStyle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTextStyle_get_BigFontFile(This,fontFile)	\
    ( (This)->lpVtbl -> get_BigFontFile(This,fontFile) ) 

#define IAcadTextStyle_put_BigFontFile(This,fontFile)	\
    ( (This)->lpVtbl -> put_BigFontFile(This,fontFile) ) 

#define IAcadTextStyle_get_FontFile(This,fontFile)	\
    ( (This)->lpVtbl -> get_FontFile(This,fontFile) ) 

#define IAcadTextStyle_put_FontFile(This,fontFile)	\
    ( (This)->lpVtbl -> put_FontFile(This,fontFile) ) 

#define IAcadTextStyle_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadTextStyle_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadTextStyle_get_LastHeight(This,height)	\
    ( (This)->lpVtbl -> get_LastHeight(This,height) ) 

#define IAcadTextStyle_put_LastHeight(This,height)	\
    ( (This)->lpVtbl -> put_LastHeight(This,height) ) 

#define IAcadTextStyle_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadTextStyle_get_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> get_ObliqueAngle(This,obliAngle) ) 

#define IAcadTextStyle_put_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> put_ObliqueAngle(This,obliAngle) ) 

#define IAcadTextStyle_get_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> get_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadTextStyle_put_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> put_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadTextStyle_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadTextStyle_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadTextStyle_GetFont(This,TypeFace,Bold,Italic,Charset,PitchAndFamily)	\
    ( (This)->lpVtbl -> GetFont(This,TypeFace,Bold,Italic,Charset,PitchAndFamily) ) 

#define IAcadTextStyle_SetFont(This,TypeFace,Bold,Italic,Charset,PitchAndFamily)	\
    ( (This)->lpVtbl -> SetFont(This,TypeFace,Bold,Italic,Charset,PitchAndFamily) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadTextStyle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTextStyle,0xAB697162,0x0540,0x4B94,0xBC,0x30,0x53,0x04,0xE5,0xF6,0x53,0x1E);

#ifdef __cplusplus

class DECLSPEC_UUID("AB697162-0540-4B94-BC30-5304E5F6531E")
AcadTextStyle;
#endif

#ifndef __IAcadUCS_INTERFACE_DEFINED__
#define __IAcadUCS_INTERFACE_DEFINED__

/* interface IAcadUCS */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadUCS,0x6BF9C3A2,0x3A4C,0x4C99,0x9C,0x9D,0x66,0x43,0x3B,0x1A,0x8C,0x9A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6BF9C3A2-3A4C-4C99-9C9D-66433B1A8C9A")
    IAcadUCS : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ VARIANT *origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ VARIANT origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XVector( 
            /* [retval][out] */ VARIANT *xVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_XVector( 
            /* [in] */ VARIANT xVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_YVector( 
            /* [retval][out] */ VARIANT *yVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_YVector( 
            /* [in] */ VARIANT yVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetUCSMatrix( 
            /* [retval][out] */ VARIANT *transMatrix) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadUCSVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadUCS * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadUCS * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadUCS * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadUCS * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadUCS * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadUCS * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadUCS * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadUCS * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadUCS * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadUCS * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadUCS * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadUCS * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadUCS * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadUCS * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadUCS * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadUCS * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadUCS * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadUCS * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadUCS * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadUCS * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadUCS * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadUCS * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadUCS * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadUCS * This,
            /* [in] */ VARIANT origin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XVector )( 
            IAcadUCS * This,
            /* [retval][out] */ VARIANT *xVector);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XVector )( 
            IAcadUCS * This,
            /* [in] */ VARIANT xVector);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YVector )( 
            IAcadUCS * This,
            /* [retval][out] */ VARIANT *yVector);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YVector )( 
            IAcadUCS * This,
            /* [in] */ VARIANT yVector);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetUCSMatrix )( 
            IAcadUCS * This,
            /* [retval][out] */ VARIANT *transMatrix);
        
        END_INTERFACE
    } IAcadUCSVtbl;

    interface IAcadUCS
    {
        CONST_VTBL struct IAcadUCSVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadUCS_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadUCS_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadUCS_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadUCS_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadUCS_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadUCS_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadUCS_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadUCS_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadUCS_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadUCS_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadUCS_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadUCS_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadUCS_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadUCS_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadUCS_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadUCS_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadUCS_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadUCS_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadUCS_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadUCS_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadUCS_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadUCS_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadUCS_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadUCS_put_Origin(This,origin)	\
    ( (This)->lpVtbl -> put_Origin(This,origin) ) 

#define IAcadUCS_get_XVector(This,xVector)	\
    ( (This)->lpVtbl -> get_XVector(This,xVector) ) 

#define IAcadUCS_put_XVector(This,xVector)	\
    ( (This)->lpVtbl -> put_XVector(This,xVector) ) 

#define IAcadUCS_get_YVector(This,yVector)	\
    ( (This)->lpVtbl -> get_YVector(This,yVector) ) 

#define IAcadUCS_put_YVector(This,yVector)	\
    ( (This)->lpVtbl -> put_YVector(This,yVector) ) 

#define IAcadUCS_GetUCSMatrix(This,transMatrix)	\
    ( (This)->lpVtbl -> GetUCSMatrix(This,transMatrix) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadUCS_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadUCS,0x600E5319,0x9BBA,0x4B4F,0x90,0xD5,0x7C,0x2B,0x82,0xA1,0x8C,0xAD);

#ifdef __cplusplus

class DECLSPEC_UUID("600E5319-9BBA-4B4F-90D5-7C2B82A18CAD")
AcadUCS;
#endif

#ifndef __IAcadView_INTERFACE_DEFINED__
#define __IAcadView_INTERFACE_DEFINED__

/* interface IAcadView */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadView,0xA265273A,0xB6D1,0x43D1,0x93,0xA7,0xC3,0x5E,0x74,0xB7,0xAB,0x3A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A265273A-B6D1-43D1-93A7-C35E74B7AB3A")
    IAcadView : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ VARIANT *targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ VARIANT targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ VARIANT *dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ VARIANT dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CategoryName( 
            /* [retval][out] */ BSTR *category) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CategoryName( 
            /* [in] */ BSTR category) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutId( 
            /* [retval][out] */ LONG_PTR *ObjectID) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutId( 
            /* [in] */ LONG_PTR ObjectID) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LayerState( 
            /* [retval][out] */ BSTR *layerState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LayerState( 
            /* [in] */ BSTR layerState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasVpAssociation( 
            /* [retval][out] */ VARIANT_BOOL *bVpAssoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HasVpAssociation( 
            /* [in] */ VARIANT_BOOL bVpAssoc) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadViewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadView * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadView * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadView * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadView * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadView * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadView * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadView * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadView * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadView * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadView * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadView * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadView * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadView * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadView * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadView * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadView * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadView * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadView * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadView * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadView * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadView * This,
            /* [retval][out] */ VARIANT *center);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadView * This,
            /* [in] */ VARIANT center);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadView * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadView * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadView * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadView * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Target )( 
            IAcadView * This,
            /* [retval][out] */ VARIANT *targetPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Target )( 
            IAcadView * This,
            /* [in] */ VARIANT targetPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
            IAcadView * This,
            /* [retval][out] */ VARIANT *dirVec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Direction )( 
            IAcadView * This,
            /* [in] */ VARIANT dirVec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadView * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadView * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CategoryName )( 
            IAcadView * This,
            /* [retval][out] */ BSTR *category);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CategoryName )( 
            IAcadView * This,
            /* [in] */ BSTR category);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutId )( 
            IAcadView * This,
            /* [retval][out] */ LONG_PTR *ObjectID);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutId )( 
            IAcadView * This,
            /* [in] */ LONG_PTR ObjectID);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayerState )( 
            IAcadView * This,
            /* [retval][out] */ BSTR *layerState);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayerState )( 
            IAcadView * This,
            /* [in] */ BSTR layerState);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasVpAssociation )( 
            IAcadView * This,
            /* [retval][out] */ VARIANT_BOOL *bVpAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HasVpAssociation )( 
            IAcadView * This,
            /* [in] */ VARIANT_BOOL bVpAssoc);
        
        END_INTERFACE
    } IAcadViewVtbl;

    interface IAcadView
    {
        CONST_VTBL struct IAcadViewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadView_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadView_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadView_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadView_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadView_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadView_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadView_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadView_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadView_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadView_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadView_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadView_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadView_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadView_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadView_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadView_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadView_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadView_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadView_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadView_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadView_get_Center(This,center)	\
    ( (This)->lpVtbl -> get_Center(This,center) ) 

#define IAcadView_put_Center(This,center)	\
    ( (This)->lpVtbl -> put_Center(This,center) ) 

#define IAcadView_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadView_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadView_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadView_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadView_get_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> get_Target(This,targetPoint) ) 

#define IAcadView_put_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> put_Target(This,targetPoint) ) 

#define IAcadView_get_Direction(This,dirVec)	\
    ( (This)->lpVtbl -> get_Direction(This,dirVec) ) 

#define IAcadView_put_Direction(This,dirVec)	\
    ( (This)->lpVtbl -> put_Direction(This,dirVec) ) 

#define IAcadView_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadView_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadView_get_CategoryName(This,category)	\
    ( (This)->lpVtbl -> get_CategoryName(This,category) ) 

#define IAcadView_put_CategoryName(This,category)	\
    ( (This)->lpVtbl -> put_CategoryName(This,category) ) 

#define IAcadView_get_LayoutId(This,ObjectID)	\
    ( (This)->lpVtbl -> get_LayoutId(This,ObjectID) ) 

#define IAcadView_put_LayoutId(This,ObjectID)	\
    ( (This)->lpVtbl -> put_LayoutId(This,ObjectID) ) 

#define IAcadView_get_LayerState(This,layerState)	\
    ( (This)->lpVtbl -> get_LayerState(This,layerState) ) 

#define IAcadView_put_LayerState(This,layerState)	\
    ( (This)->lpVtbl -> put_LayerState(This,layerState) ) 

#define IAcadView_get_HasVpAssociation(This,bVpAssoc)	\
    ( (This)->lpVtbl -> get_HasVpAssociation(This,bVpAssoc) ) 

#define IAcadView_put_HasVpAssociation(This,bVpAssoc)	\
    ( (This)->lpVtbl -> put_HasVpAssociation(This,bVpAssoc) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadView_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadView,0x19D61EF7,0xE711,0x48D3,0x92,0x14,0x35,0xEE,0x9C,0x69,0x92,0x40);

#ifdef __cplusplus

class DECLSPEC_UUID("19D61EF7-E711-48D3-9214-35EE9C699240")
AcadView;
#endif

#ifndef __IAcadViewport_INTERFACE_DEFINED__
#define __IAcadViewport_INTERFACE_DEFINED__

/* interface IAcadViewport */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadViewport,0x8A804D52,0x8F63,0x4E97,0xAA,0x91,0xA0,0xED,0xE2,0x8A,0xCD,0xEB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8A804D52-8F63-4E97-AA91-A0EDE28ACDEB")
    IAcadViewport : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ VARIANT *targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ VARIANT targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ VARIANT *dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ VARIANT dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GridOn( 
            /* [retval][out] */ VARIANT_BOOL *bGridOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GridOn( 
            /* [in] */ VARIANT_BOOL bGridOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OrthoOn( 
            /* [retval][out] */ VARIANT_BOOL *bOrthoOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OrthoOn( 
            /* [in] */ VARIANT_BOOL bOrthoOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapBasePoint( 
            /* [retval][out] */ VARIANT *lowLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapBasePoint( 
            /* [in] */ VARIANT lowLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapOn( 
            /* [retval][out] */ VARIANT_BOOL *bSnapOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapOn( 
            /* [in] */ VARIANT_BOOL bSnapOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapRotationAngle( 
            /* [retval][out] */ ACAD_ANGLE *angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapRotationAngle( 
            /* [in] */ ACAD_ANGLE angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconOn( 
            /* [retval][out] */ VARIANT_BOOL *bIconOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconOn( 
            /* [in] */ VARIANT_BOOL bIconOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconAtOrigin( 
            /* [retval][out] */ VARIANT_BOOL *bIconAtOrigin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconAtOrigin( 
            /* [in] */ VARIANT_BOOL bIconAtOrigin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LowerLeftCorner( 
            /* [retval][out] */ VARIANT *lowLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UpperRightCorner( 
            /* [retval][out] */ VARIANT *upperRight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Split( 
            /* [in] */ AcViewportSplitType NumWins) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridSpacing( 
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridSpacing( 
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSnapSpacing( 
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetSnapSpacing( 
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetView( 
            /* [in] */ IAcadView *View) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcSmoothness( 
            /* [retval][out] */ long *arcSmooth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArcSmoothness( 
            /* [in] */ long arcSmooth) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadViewportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadViewport * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadViewport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadViewport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadViewport * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadViewport * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadViewport * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadViewport * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadViewport * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadViewport * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadViewport * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadViewport * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadViewport * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadViewport * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadViewport * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadViewport * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadViewport * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadViewport * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadViewport * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadViewport * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *center);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadViewport * This,
            /* [in] */ VARIANT center);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadViewport * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadViewport * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadViewport * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadViewport * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Target )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *targetPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Target )( 
            IAcadViewport * This,
            /* [in] */ VARIANT targetPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *dirVec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Direction )( 
            IAcadViewport * This,
            /* [in] */ VARIANT dirVec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadViewport * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadViewport * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GridOn )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bGridOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GridOn )( 
            IAcadViewport * This,
            /* [in] */ VARIANT_BOOL bGridOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OrthoOn )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bOrthoOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OrthoOn )( 
            IAcadViewport * This,
            /* [in] */ VARIANT_BOOL bOrthoOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapBasePoint )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *lowLeft);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapBasePoint )( 
            IAcadViewport * This,
            /* [in] */ VARIANT lowLeft);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapOn )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bSnapOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapOn )( 
            IAcadViewport * This,
            /* [in] */ VARIANT_BOOL bSnapOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapRotationAngle )( 
            IAcadViewport * This,
            /* [retval][out] */ ACAD_ANGLE *angle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapRotationAngle )( 
            IAcadViewport * This,
            /* [in] */ ACAD_ANGLE angle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UCSIconOn )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bIconOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UCSIconOn )( 
            IAcadViewport * This,
            /* [in] */ VARIANT_BOOL bIconOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UCSIconAtOrigin )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bIconAtOrigin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UCSIconAtOrigin )( 
            IAcadViewport * This,
            /* [in] */ VARIANT_BOOL bIconAtOrigin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LowerLeftCorner )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *lowLeft);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpperRightCorner )( 
            IAcadViewport * This,
            /* [retval][out] */ VARIANT *upperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Split )( 
            IAcadViewport * This,
            /* [in] */ AcViewportSplitType NumWins);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridSpacing )( 
            IAcadViewport * This,
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridSpacing )( 
            IAcadViewport * This,
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSnapSpacing )( 
            IAcadViewport * This,
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetSnapSpacing )( 
            IAcadViewport * This,
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetView )( 
            IAcadViewport * This,
            /* [in] */ IAcadView *View);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcSmoothness )( 
            IAcadViewport * This,
            /* [retval][out] */ long *arcSmooth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArcSmoothness )( 
            IAcadViewport * This,
            /* [in] */ long arcSmooth);
        
        END_INTERFACE
    } IAcadViewportVtbl;

    interface IAcadViewport
    {
        CONST_VTBL struct IAcadViewportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadViewport_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadViewport_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadViewport_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadViewport_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadViewport_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadViewport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadViewport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadViewport_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadViewport_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadViewport_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadViewport_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadViewport_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadViewport_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadViewport_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadViewport_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadViewport_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadViewport_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadViewport_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadViewport_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadViewport_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadViewport_get_Center(This,center)	\
    ( (This)->lpVtbl -> get_Center(This,center) ) 

#define IAcadViewport_put_Center(This,center)	\
    ( (This)->lpVtbl -> put_Center(This,center) ) 

#define IAcadViewport_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadViewport_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadViewport_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadViewport_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadViewport_get_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> get_Target(This,targetPoint) ) 

#define IAcadViewport_put_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> put_Target(This,targetPoint) ) 

#define IAcadViewport_get_Direction(This,dirVec)	\
    ( (This)->lpVtbl -> get_Direction(This,dirVec) ) 

#define IAcadViewport_put_Direction(This,dirVec)	\
    ( (This)->lpVtbl -> put_Direction(This,dirVec) ) 

#define IAcadViewport_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadViewport_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadViewport_get_GridOn(This,bGridOn)	\
    ( (This)->lpVtbl -> get_GridOn(This,bGridOn) ) 

#define IAcadViewport_put_GridOn(This,bGridOn)	\
    ( (This)->lpVtbl -> put_GridOn(This,bGridOn) ) 

#define IAcadViewport_get_OrthoOn(This,bOrthoOn)	\
    ( (This)->lpVtbl -> get_OrthoOn(This,bOrthoOn) ) 

#define IAcadViewport_put_OrthoOn(This,bOrthoOn)	\
    ( (This)->lpVtbl -> put_OrthoOn(This,bOrthoOn) ) 

#define IAcadViewport_get_SnapBasePoint(This,lowLeft)	\
    ( (This)->lpVtbl -> get_SnapBasePoint(This,lowLeft) ) 

#define IAcadViewport_put_SnapBasePoint(This,lowLeft)	\
    ( (This)->lpVtbl -> put_SnapBasePoint(This,lowLeft) ) 

#define IAcadViewport_get_SnapOn(This,bSnapOn)	\
    ( (This)->lpVtbl -> get_SnapOn(This,bSnapOn) ) 

#define IAcadViewport_put_SnapOn(This,bSnapOn)	\
    ( (This)->lpVtbl -> put_SnapOn(This,bSnapOn) ) 

#define IAcadViewport_get_SnapRotationAngle(This,angle)	\
    ( (This)->lpVtbl -> get_SnapRotationAngle(This,angle) ) 

#define IAcadViewport_put_SnapRotationAngle(This,angle)	\
    ( (This)->lpVtbl -> put_SnapRotationAngle(This,angle) ) 

#define IAcadViewport_get_UCSIconOn(This,bIconOn)	\
    ( (This)->lpVtbl -> get_UCSIconOn(This,bIconOn) ) 

#define IAcadViewport_put_UCSIconOn(This,bIconOn)	\
    ( (This)->lpVtbl -> put_UCSIconOn(This,bIconOn) ) 

#define IAcadViewport_get_UCSIconAtOrigin(This,bIconAtOrigin)	\
    ( (This)->lpVtbl -> get_UCSIconAtOrigin(This,bIconAtOrigin) ) 

#define IAcadViewport_put_UCSIconAtOrigin(This,bIconAtOrigin)	\
    ( (This)->lpVtbl -> put_UCSIconAtOrigin(This,bIconAtOrigin) ) 

#define IAcadViewport_get_LowerLeftCorner(This,lowLeft)	\
    ( (This)->lpVtbl -> get_LowerLeftCorner(This,lowLeft) ) 

#define IAcadViewport_get_UpperRightCorner(This,upperRight)	\
    ( (This)->lpVtbl -> get_UpperRightCorner(This,upperRight) ) 

#define IAcadViewport_Split(This,NumWins)	\
    ( (This)->lpVtbl -> Split(This,NumWins) ) 

#define IAcadViewport_GetGridSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> GetGridSpacing(This,XSpacing,YSpacing) ) 

#define IAcadViewport_SetGridSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> SetGridSpacing(This,XSpacing,YSpacing) ) 

#define IAcadViewport_GetSnapSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> GetSnapSpacing(This,XSpacing,YSpacing) ) 

#define IAcadViewport_SetSnapSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> SetSnapSpacing(This,XSpacing,YSpacing) ) 

#define IAcadViewport_SetView(This,View)	\
    ( (This)->lpVtbl -> SetView(This,View) ) 

#define IAcadViewport_get_ArcSmoothness(This,arcSmooth)	\
    ( (This)->lpVtbl -> get_ArcSmoothness(This,arcSmooth) ) 

#define IAcadViewport_put_ArcSmoothness(This,arcSmooth)	\
    ( (This)->lpVtbl -> put_ArcSmoothness(This,arcSmooth) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadViewport_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadViewport,0x6FE3B2A4,0xAA63,0x4515,0xB1,0x32,0x0C,0xF6,0x94,0x8A,0x84,0x95);

#ifdef __cplusplus

class DECLSPEC_UUID("6FE3B2A4-AA63-4515-B132-0CF6948A8495")
AcadViewport;
#endif

#ifndef __IAcadGroup_INTERFACE_DEFINED__
#define __IAcadGroup_INTERFACE_DEFINED__

/* interface IAcadGroup */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadGroup,0x9CC918BE,0x1F6C,0x439B,0x96,0xF9,0x04,0xA7,0xF8,0x31,0xF7,0x95);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CC918BE-1F6C-439B-96F9-04A7F831F795")
    IAcadGroup : public IAcadObject
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **ppEntity) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpcontext][helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_TrueColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Layer( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Linetype( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinetypeScale( 
            /* [in] */ ACAD_NOUNITS newVal) = 0;
        
        virtual /* [nonbrowsable][helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ VARIANT_BOOL HighlightFlag) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotStyleName( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineWeight( 
            /* [in] */ ACAD_LWEIGHT newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE AppendItems( 
            /* [in] */ VARIANT Objects) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveItems( 
            /* [in] */ VARIANT Objects) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Material( 
            /* [in] */ BSTR newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ AcColor newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadGroup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadGroup * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadGroup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadGroup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadGroup * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadGroup * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadGroup * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadGroup * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadGroup * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadGroup * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadGroup * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadGroup * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadGroup * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadGroup * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadGroup * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadGroup * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadGroup * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadGroup * This);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadGroup * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **ppEntity);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadGroup * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadGroup * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpcontext][helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadGroup * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadGroup * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadGroup * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadGroup * This,
            /* [in] */ ACAD_NOUNITS newVal);
        
        /* [nonbrowsable][helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadGroup * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadGroup * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadGroup * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineWeight )( 
            IAcadGroup * This,
            /* [in] */ ACAD_LWEIGHT newVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadGroup * This,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadGroup * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendItems )( 
            IAcadGroup * This,
            /* [in] */ VARIANT Objects);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItems )( 
            IAcadGroup * This,
            /* [in] */ VARIANT Objects);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadGroup * This);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadGroup * This,
            /* [in] */ BSTR newVal);
        
        /* [helpcontext][helpstringcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadGroup * This,
            /* [in] */ AcColor newVal);
        
        END_INTERFACE
    } IAcadGroupVtbl;

    interface IAcadGroup
    {
        CONST_VTBL struct IAcadGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadGroup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadGroup_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadGroup_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadGroup_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadGroup_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadGroup_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadGroup_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadGroup_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadGroup_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadGroup_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadGroup_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadGroup_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadGroup_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadGroup_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadGroup_Item(This,Index,ppEntity)	\
    ( (This)->lpVtbl -> Item(This,Index,ppEntity) ) 

#define IAcadGroup_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadGroup_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadGroup_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadGroup_put_Layer(This,newVal)	\
    ( (This)->lpVtbl -> put_Layer(This,newVal) ) 

#define IAcadGroup_put_Linetype(This,newVal)	\
    ( (This)->lpVtbl -> put_Linetype(This,newVal) ) 

#define IAcadGroup_put_LinetypeScale(This,newVal)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,newVal) ) 

#define IAcadGroup_put_Visible(This,newVal)	\
    ( (This)->lpVtbl -> put_Visible(This,newVal) ) 

#define IAcadGroup_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadGroup_put_PlotStyleName(This,newVal)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,newVal) ) 

#define IAcadGroup_put_LineWeight(This,newVal)	\
    ( (This)->lpVtbl -> put_LineWeight(This,newVal) ) 

#define IAcadGroup_get_Name(This,pVal)	\
    ( (This)->lpVtbl -> get_Name(This,pVal) ) 

#define IAcadGroup_put_Name(This,newVal)	\
    ( (This)->lpVtbl -> put_Name(This,newVal) ) 

#define IAcadGroup_AppendItems(This,Objects)	\
    ( (This)->lpVtbl -> AppendItems(This,Objects) ) 

#define IAcadGroup_RemoveItems(This,Objects)	\
    ( (This)->lpVtbl -> RemoveItems(This,Objects) ) 

#define IAcadGroup_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadGroup_put_Material(This,newVal)	\
    ( (This)->lpVtbl -> put_Material(This,newVal) ) 

#define IAcadGroup_put_Color(This,newVal)	\
    ( (This)->lpVtbl -> put_Color(This,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadGroup_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadGroup,0xBD08A7B0,0x4084,0x4144,0x9B,0x9C,0xE8,0x8E,0x53,0xD9,0xA1,0xC7);

#ifdef __cplusplus

class DECLSPEC_UUID("BD08A7B0-4084-4144-9B9C-E88E53D9A1C7")
AcadGroup;
#endif

#ifndef __IAcadPlotConfiguration_INTERFACE_DEFINED__
#define __IAcadPlotConfiguration_INTERFACE_DEFINED__

/* interface IAcadPlotConfiguration */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPlotConfiguration,0x26B2E92C,0x5694,0x471A,0xAC,0xB1,0x35,0x5E,0x2A,0x79,0x3A,0x65);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("26B2E92C-5694-471A-ACB1-355E2A793A65")
    IAcadPlotConfiguration : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConfigName( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConfigName( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CanonicalMediaName( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CanonicalMediaName( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PaperUnits( 
            /* [retval][out] */ AcPlotPaperUnits *pPaperUnits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PaperUnits( 
            /* [in] */ AcPlotPaperUnits PaperUnits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotViewportBorders( 
            /* [retval][out] */ VARIANT_BOOL *pViewportBorders) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotViewportBorders( 
            /* [in] */ VARIANT_BOOL ViewportBorders) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowPlotStyles( 
            /* [retval][out] */ VARIANT_BOOL *pStyles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowPlotStyles( 
            /* [in] */ VARIANT_BOOL Styles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotRotation( 
            /* [retval][out] */ AcPlotRotation *pRotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotRotation( 
            /* [in] */ AcPlotRotation Rotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterPlot( 
            /* [retval][out] */ VARIANT_BOOL *pCentered) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterPlot( 
            /* [in] */ VARIANT_BOOL Centered) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotHidden( 
            /* [retval][out] */ VARIANT_BOOL *pHidden) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotHidden( 
            /* [in] */ VARIANT_BOOL Hidden) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotType( 
            /* [retval][out] */ AcPlotType *pType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotType( 
            /* [in] */ AcPlotType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ViewToPlot( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ViewToPlot( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UseStandardScale( 
            /* [retval][out] */ VARIANT_BOOL *pUseStdScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UseStandardScale( 
            /* [in] */ VARIANT_BOOL UseStdScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StandardScale( 
            /* [retval][out] */ AcPlotScale *pStdScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StandardScale( 
            /* [in] */ AcPlotScale StdScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCustomScale( 
            /* [out] */ double *Numerator,
            /* [out] */ double *Denominator) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCustomScale( 
            /* [in] */ double Numerator,
            /* [in] */ double Denominator) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleLineweights( 
            /* [retval][out] */ VARIANT_BOOL *pScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleLineweights( 
            /* [in] */ VARIANT_BOOL scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotWithLineweights( 
            /* [retval][out] */ VARIANT_BOOL *pPlot) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotWithLineweights( 
            /* [in] */ VARIANT_BOOL plot) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotViewportsFirst( 
            /* [retval][out] */ VARIANT_BOOL *pViewportsFirst) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotViewportsFirst( 
            /* [in] */ VARIANT_BOOL ViewportsFirst) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheet( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleSheet( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPaperMargins( 
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPaperSize( 
            /* [out] */ double *Width,
            /* [out] */ double *Height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotOrigin( 
            /* [retval][out] */ VARIANT *pOrigin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotOrigin( 
            /* [in] */ VARIANT Origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetWindowToPlot( 
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetWindowToPlot( 
            /* [in] */ VARIANT LowerLeft,
            /* [in] */ VARIANT UpperRight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PlotWithPlotStyles( 
            /* [retval][out] */ VARIANT_BOOL *pStyles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PlotWithPlotStyles( 
            /* [in] */ VARIANT_BOOL Styles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModelType( 
            /* [retval][out] */ VARIANT_BOOL *pType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CopyFrom( 
            /* [in] */ IAcadPlotConfiguration *pPlotConfig) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCanonicalMediaNames( 
            /* [retval][out] */ VARIANT *pNames) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPlotDeviceNames( 
            /* [retval][out] */ VARIANT *pNames) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPlotStyleTableNames( 
            /* [retval][out] */ VARIANT *pNames) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RefreshPlotDeviceInfo( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLocaleMediaName( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ BSTR *pLocalName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPlotConfigurationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPlotConfiguration * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPlotConfiguration * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPlotConfiguration * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPlotConfiguration * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPlotConfiguration * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPlotConfiguration * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPlotConfiguration * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPlotConfiguration * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPlotConfiguration * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConfigName )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConfigName )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanonicalMediaName )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CanonicalMediaName )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PaperUnits )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ AcPlotPaperUnits *pPaperUnits);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PaperUnits )( 
            IAcadPlotConfiguration * This,
            /* [in] */ AcPlotPaperUnits PaperUnits);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotViewportBorders )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pViewportBorders);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotViewportBorders )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL ViewportBorders);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowPlotStyles )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pStyles);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowPlotStyles )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL Styles);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotRotation )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ AcPlotRotation *pRotation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotRotation )( 
            IAcadPlotConfiguration * This,
            /* [in] */ AcPlotRotation Rotation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterPlot )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pCentered);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterPlot )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL Centered);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotHidden )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pHidden);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotHidden )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL Hidden);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotType )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ AcPlotType *pType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotType )( 
            IAcadPlotConfiguration * This,
            /* [in] */ AcPlotType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewToPlot )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewToPlot )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseStandardScale )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pUseStdScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseStandardScale )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL UseStdScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StandardScale )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ AcPlotScale *pStdScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StandardScale )( 
            IAcadPlotConfiguration * This,
            /* [in] */ AcPlotScale StdScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomScale )( 
            IAcadPlotConfiguration * This,
            /* [out] */ double *Numerator,
            /* [out] */ double *Denominator);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCustomScale )( 
            IAcadPlotConfiguration * This,
            /* [in] */ double Numerator,
            /* [in] */ double Denominator);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleLineweights )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleLineweights )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotWithLineweights )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pPlot);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotWithLineweights )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL plot);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotViewportsFirst )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pViewportsFirst);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotViewportsFirst )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL ViewportsFirst);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheet )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleSheet )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPaperMargins )( 
            IAcadPlotConfiguration * This,
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPaperSize )( 
            IAcadPlotConfiguration * This,
            /* [out] */ double *Width,
            /* [out] */ double *Height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotOrigin )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT *pOrigin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotOrigin )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT Origin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetWindowToPlot )( 
            IAcadPlotConfiguration * This,
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetWindowToPlot )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT LowerLeft,
            /* [in] */ VARIANT UpperRight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotWithPlotStyles )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pStyles);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotWithPlotStyles )( 
            IAcadPlotConfiguration * This,
            /* [in] */ VARIANT_BOOL Styles);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelType )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT_BOOL *pType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFrom )( 
            IAcadPlotConfiguration * This,
            /* [in] */ IAcadPlotConfiguration *pPlotConfig);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCanonicalMediaNames )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotDeviceNames )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotStyleTableNames )( 
            IAcadPlotConfiguration * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshPlotDeviceInfo )( 
            IAcadPlotConfiguration * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLocaleMediaName )( 
            IAcadPlotConfiguration * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ BSTR *pLocalName);
        
        END_INTERFACE
    } IAcadPlotConfigurationVtbl;

    interface IAcadPlotConfiguration
    {
        CONST_VTBL struct IAcadPlotConfigurationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPlotConfiguration_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPlotConfiguration_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPlotConfiguration_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPlotConfiguration_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPlotConfiguration_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPlotConfiguration_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPlotConfiguration_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPlotConfiguration_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPlotConfiguration_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPlotConfiguration_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPlotConfiguration_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPlotConfiguration_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPlotConfiguration_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPlotConfiguration_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPlotConfiguration_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPlotConfiguration_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPlotConfiguration_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPlotConfiguration_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPlotConfiguration_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPlotConfiguration_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPlotConfiguration_get_Name(This,pName)	\
    ( (This)->lpVtbl -> get_Name(This,pName) ) 

#define IAcadPlotConfiguration_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define IAcadPlotConfiguration_get_ConfigName(This,pName)	\
    ( (This)->lpVtbl -> get_ConfigName(This,pName) ) 

#define IAcadPlotConfiguration_put_ConfigName(This,Name)	\
    ( (This)->lpVtbl -> put_ConfigName(This,Name) ) 

#define IAcadPlotConfiguration_get_CanonicalMediaName(This,pName)	\
    ( (This)->lpVtbl -> get_CanonicalMediaName(This,pName) ) 

#define IAcadPlotConfiguration_put_CanonicalMediaName(This,Name)	\
    ( (This)->lpVtbl -> put_CanonicalMediaName(This,Name) ) 

#define IAcadPlotConfiguration_get_PaperUnits(This,pPaperUnits)	\
    ( (This)->lpVtbl -> get_PaperUnits(This,pPaperUnits) ) 

#define IAcadPlotConfiguration_put_PaperUnits(This,PaperUnits)	\
    ( (This)->lpVtbl -> put_PaperUnits(This,PaperUnits) ) 

#define IAcadPlotConfiguration_get_PlotViewportBorders(This,pViewportBorders)	\
    ( (This)->lpVtbl -> get_PlotViewportBorders(This,pViewportBorders) ) 

#define IAcadPlotConfiguration_put_PlotViewportBorders(This,ViewportBorders)	\
    ( (This)->lpVtbl -> put_PlotViewportBorders(This,ViewportBorders) ) 

#define IAcadPlotConfiguration_get_ShowPlotStyles(This,pStyles)	\
    ( (This)->lpVtbl -> get_ShowPlotStyles(This,pStyles) ) 

#define IAcadPlotConfiguration_put_ShowPlotStyles(This,Styles)	\
    ( (This)->lpVtbl -> put_ShowPlotStyles(This,Styles) ) 

#define IAcadPlotConfiguration_get_PlotRotation(This,pRotation)	\
    ( (This)->lpVtbl -> get_PlotRotation(This,pRotation) ) 

#define IAcadPlotConfiguration_put_PlotRotation(This,Rotation)	\
    ( (This)->lpVtbl -> put_PlotRotation(This,Rotation) ) 

#define IAcadPlotConfiguration_get_CenterPlot(This,pCentered)	\
    ( (This)->lpVtbl -> get_CenterPlot(This,pCentered) ) 

#define IAcadPlotConfiguration_put_CenterPlot(This,Centered)	\
    ( (This)->lpVtbl -> put_CenterPlot(This,Centered) ) 

#define IAcadPlotConfiguration_get_PlotHidden(This,pHidden)	\
    ( (This)->lpVtbl -> get_PlotHidden(This,pHidden) ) 

#define IAcadPlotConfiguration_put_PlotHidden(This,Hidden)	\
    ( (This)->lpVtbl -> put_PlotHidden(This,Hidden) ) 

#define IAcadPlotConfiguration_get_PlotType(This,pType)	\
    ( (This)->lpVtbl -> get_PlotType(This,pType) ) 

#define IAcadPlotConfiguration_put_PlotType(This,Type)	\
    ( (This)->lpVtbl -> put_PlotType(This,Type) ) 

#define IAcadPlotConfiguration_get_ViewToPlot(This,pName)	\
    ( (This)->lpVtbl -> get_ViewToPlot(This,pName) ) 

#define IAcadPlotConfiguration_put_ViewToPlot(This,Name)	\
    ( (This)->lpVtbl -> put_ViewToPlot(This,Name) ) 

#define IAcadPlotConfiguration_get_UseStandardScale(This,pUseStdScale)	\
    ( (This)->lpVtbl -> get_UseStandardScale(This,pUseStdScale) ) 

#define IAcadPlotConfiguration_put_UseStandardScale(This,UseStdScale)	\
    ( (This)->lpVtbl -> put_UseStandardScale(This,UseStdScale) ) 

#define IAcadPlotConfiguration_get_StandardScale(This,pStdScale)	\
    ( (This)->lpVtbl -> get_StandardScale(This,pStdScale) ) 

#define IAcadPlotConfiguration_put_StandardScale(This,StdScale)	\
    ( (This)->lpVtbl -> put_StandardScale(This,StdScale) ) 

#define IAcadPlotConfiguration_GetCustomScale(This,Numerator,Denominator)	\
    ( (This)->lpVtbl -> GetCustomScale(This,Numerator,Denominator) ) 

#define IAcadPlotConfiguration_SetCustomScale(This,Numerator,Denominator)	\
    ( (This)->lpVtbl -> SetCustomScale(This,Numerator,Denominator) ) 

#define IAcadPlotConfiguration_get_ScaleLineweights(This,pScale)	\
    ( (This)->lpVtbl -> get_ScaleLineweights(This,pScale) ) 

#define IAcadPlotConfiguration_put_ScaleLineweights(This,scale)	\
    ( (This)->lpVtbl -> put_ScaleLineweights(This,scale) ) 

#define IAcadPlotConfiguration_get_PlotWithLineweights(This,pPlot)	\
    ( (This)->lpVtbl -> get_PlotWithLineweights(This,pPlot) ) 

#define IAcadPlotConfiguration_put_PlotWithLineweights(This,plot)	\
    ( (This)->lpVtbl -> put_PlotWithLineweights(This,plot) ) 

#define IAcadPlotConfiguration_get_PlotViewportsFirst(This,pViewportsFirst)	\
    ( (This)->lpVtbl -> get_PlotViewportsFirst(This,pViewportsFirst) ) 

#define IAcadPlotConfiguration_put_PlotViewportsFirst(This,ViewportsFirst)	\
    ( (This)->lpVtbl -> put_PlotViewportsFirst(This,ViewportsFirst) ) 

#define IAcadPlotConfiguration_get_StyleSheet(This,pName)	\
    ( (This)->lpVtbl -> get_StyleSheet(This,pName) ) 

#define IAcadPlotConfiguration_put_StyleSheet(This,Name)	\
    ( (This)->lpVtbl -> put_StyleSheet(This,Name) ) 

#define IAcadPlotConfiguration_GetPaperMargins(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> GetPaperMargins(This,LowerLeft,UpperRight) ) 

#define IAcadPlotConfiguration_GetPaperSize(This,Width,Height)	\
    ( (This)->lpVtbl -> GetPaperSize(This,Width,Height) ) 

#define IAcadPlotConfiguration_get_PlotOrigin(This,pOrigin)	\
    ( (This)->lpVtbl -> get_PlotOrigin(This,pOrigin) ) 

#define IAcadPlotConfiguration_put_PlotOrigin(This,Origin)	\
    ( (This)->lpVtbl -> put_PlotOrigin(This,Origin) ) 

#define IAcadPlotConfiguration_GetWindowToPlot(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> GetWindowToPlot(This,LowerLeft,UpperRight) ) 

#define IAcadPlotConfiguration_SetWindowToPlot(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> SetWindowToPlot(This,LowerLeft,UpperRight) ) 

#define IAcadPlotConfiguration_get_PlotWithPlotStyles(This,pStyles)	\
    ( (This)->lpVtbl -> get_PlotWithPlotStyles(This,pStyles) ) 

#define IAcadPlotConfiguration_put_PlotWithPlotStyles(This,Styles)	\
    ( (This)->lpVtbl -> put_PlotWithPlotStyles(This,Styles) ) 

#define IAcadPlotConfiguration_get_ModelType(This,pType)	\
    ( (This)->lpVtbl -> get_ModelType(This,pType) ) 

#define IAcadPlotConfiguration_CopyFrom(This,pPlotConfig)	\
    ( (This)->lpVtbl -> CopyFrom(This,pPlotConfig) ) 

#define IAcadPlotConfiguration_GetCanonicalMediaNames(This,pNames)	\
    ( (This)->lpVtbl -> GetCanonicalMediaNames(This,pNames) ) 

#define IAcadPlotConfiguration_GetPlotDeviceNames(This,pNames)	\
    ( (This)->lpVtbl -> GetPlotDeviceNames(This,pNames) ) 

#define IAcadPlotConfiguration_GetPlotStyleTableNames(This,pNames)	\
    ( (This)->lpVtbl -> GetPlotStyleTableNames(This,pNames) ) 

#define IAcadPlotConfiguration_RefreshPlotDeviceInfo(This)	\
    ( (This)->lpVtbl -> RefreshPlotDeviceInfo(This) ) 

#define IAcadPlotConfiguration_GetLocaleMediaName(This,Name,pLocalName)	\
    ( (This)->lpVtbl -> GetLocaleMediaName(This,Name,pLocalName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPlotConfiguration_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPlotConfiguration,0x4C4FC28C,0x2984,0x4CEC,0xA0,0xCB,0xBC,0x0F,0xF3,0x0F,0x37,0xFF);

#ifdef __cplusplus

class DECLSPEC_UUID("4C4FC28C-2984-4CEC-A0CB-BC0FF30F37FF")
AcadPlotConfiguration;
#endif

#ifndef __IAcadLayout_INTERFACE_DEFINED__
#define __IAcadLayout_INTERFACE_DEFINED__

/* interface IAcadLayout */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLayout,0x1F32C517,0xD1C7,0x40FD,0xA3,0xAE,0xBA,0x26,0x56,0xD5,0x38,0x69);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1F32C517-D1C7-40FD-A3AE-BA2656D53869")
    IAcadLayout : public IAcadPlotConfiguration
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Block( 
            /* [retval][out] */ IAcadBlock **pBlock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TabOrder( 
            /* [retval][out] */ long *pOrder) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TabOrder( 
            /* [in] */ long Order) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLayoutVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLayout * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLayout * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLayout * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLayout * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLayout * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLayout * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLayout * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLayout * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLayout * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLayout * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLayout * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLayout * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLayout * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLayout * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLayout * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLayout * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLayout * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConfigName )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConfigName )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CanonicalMediaName )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CanonicalMediaName )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PaperUnits )( 
            IAcadLayout * This,
            /* [retval][out] */ AcPlotPaperUnits *pPaperUnits);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PaperUnits )( 
            IAcadLayout * This,
            /* [in] */ AcPlotPaperUnits PaperUnits);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotViewportBorders )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pViewportBorders);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotViewportBorders )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL ViewportBorders);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowPlotStyles )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pStyles);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowPlotStyles )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL Styles);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotRotation )( 
            IAcadLayout * This,
            /* [retval][out] */ AcPlotRotation *pRotation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotRotation )( 
            IAcadLayout * This,
            /* [in] */ AcPlotRotation Rotation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterPlot )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pCentered);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterPlot )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL Centered);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotHidden )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pHidden);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotHidden )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL Hidden);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotType )( 
            IAcadLayout * This,
            /* [retval][out] */ AcPlotType *pType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotType )( 
            IAcadLayout * This,
            /* [in] */ AcPlotType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewToPlot )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewToPlot )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseStandardScale )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pUseStdScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseStandardScale )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL UseStdScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StandardScale )( 
            IAcadLayout * This,
            /* [retval][out] */ AcPlotScale *pStdScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StandardScale )( 
            IAcadLayout * This,
            /* [in] */ AcPlotScale StdScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomScale )( 
            IAcadLayout * This,
            /* [out] */ double *Numerator,
            /* [out] */ double *Denominator);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCustomScale )( 
            IAcadLayout * This,
            /* [in] */ double Numerator,
            /* [in] */ double Denominator);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleLineweights )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleLineweights )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotWithLineweights )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pPlot);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotWithLineweights )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL plot);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotViewportsFirst )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pViewportsFirst);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotViewportsFirst )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL ViewportsFirst);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheet )( 
            IAcadLayout * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleSheet )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPaperMargins )( 
            IAcadLayout * This,
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPaperSize )( 
            IAcadLayout * This,
            /* [out] */ double *Width,
            /* [out] */ double *Height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotOrigin )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT *pOrigin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotOrigin )( 
            IAcadLayout * This,
            /* [in] */ VARIANT Origin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetWindowToPlot )( 
            IAcadLayout * This,
            /* [out] */ VARIANT *LowerLeft,
            /* [out] */ VARIANT *UpperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetWindowToPlot )( 
            IAcadLayout * This,
            /* [in] */ VARIANT LowerLeft,
            /* [in] */ VARIANT UpperRight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotWithPlotStyles )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pStyles);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotWithPlotStyles )( 
            IAcadLayout * This,
            /* [in] */ VARIANT_BOOL Styles);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelType )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT_BOOL *pType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyFrom )( 
            IAcadLayout * This,
            /* [in] */ IAcadPlotConfiguration *pPlotConfig);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCanonicalMediaNames )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotDeviceNames )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPlotStyleTableNames )( 
            IAcadLayout * This,
            /* [retval][out] */ VARIANT *pNames);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RefreshPlotDeviceInfo )( 
            IAcadLayout * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLocaleMediaName )( 
            IAcadLayout * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ BSTR *pLocalName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Block )( 
            IAcadLayout * This,
            /* [retval][out] */ IAcadBlock **pBlock);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TabOrder )( 
            IAcadLayout * This,
            /* [retval][out] */ long *pOrder);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TabOrder )( 
            IAcadLayout * This,
            /* [in] */ long Order);
        
        END_INTERFACE
    } IAcadLayoutVtbl;

    interface IAcadLayout
    {
        CONST_VTBL struct IAcadLayoutVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLayout_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLayout_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLayout_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLayout_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLayout_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLayout_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLayout_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLayout_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLayout_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLayout_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLayout_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLayout_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLayout_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLayout_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLayout_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLayout_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLayout_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLayout_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLayout_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLayout_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLayout_get_Name(This,pName)	\
    ( (This)->lpVtbl -> get_Name(This,pName) ) 

#define IAcadLayout_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define IAcadLayout_get_ConfigName(This,pName)	\
    ( (This)->lpVtbl -> get_ConfigName(This,pName) ) 

#define IAcadLayout_put_ConfigName(This,Name)	\
    ( (This)->lpVtbl -> put_ConfigName(This,Name) ) 

#define IAcadLayout_get_CanonicalMediaName(This,pName)	\
    ( (This)->lpVtbl -> get_CanonicalMediaName(This,pName) ) 

#define IAcadLayout_put_CanonicalMediaName(This,Name)	\
    ( (This)->lpVtbl -> put_CanonicalMediaName(This,Name) ) 

#define IAcadLayout_get_PaperUnits(This,pPaperUnits)	\
    ( (This)->lpVtbl -> get_PaperUnits(This,pPaperUnits) ) 

#define IAcadLayout_put_PaperUnits(This,PaperUnits)	\
    ( (This)->lpVtbl -> put_PaperUnits(This,PaperUnits) ) 

#define IAcadLayout_get_PlotViewportBorders(This,pViewportBorders)	\
    ( (This)->lpVtbl -> get_PlotViewportBorders(This,pViewportBorders) ) 

#define IAcadLayout_put_PlotViewportBorders(This,ViewportBorders)	\
    ( (This)->lpVtbl -> put_PlotViewportBorders(This,ViewportBorders) ) 

#define IAcadLayout_get_ShowPlotStyles(This,pStyles)	\
    ( (This)->lpVtbl -> get_ShowPlotStyles(This,pStyles) ) 

#define IAcadLayout_put_ShowPlotStyles(This,Styles)	\
    ( (This)->lpVtbl -> put_ShowPlotStyles(This,Styles) ) 

#define IAcadLayout_get_PlotRotation(This,pRotation)	\
    ( (This)->lpVtbl -> get_PlotRotation(This,pRotation) ) 

#define IAcadLayout_put_PlotRotation(This,Rotation)	\
    ( (This)->lpVtbl -> put_PlotRotation(This,Rotation) ) 

#define IAcadLayout_get_CenterPlot(This,pCentered)	\
    ( (This)->lpVtbl -> get_CenterPlot(This,pCentered) ) 

#define IAcadLayout_put_CenterPlot(This,Centered)	\
    ( (This)->lpVtbl -> put_CenterPlot(This,Centered) ) 

#define IAcadLayout_get_PlotHidden(This,pHidden)	\
    ( (This)->lpVtbl -> get_PlotHidden(This,pHidden) ) 

#define IAcadLayout_put_PlotHidden(This,Hidden)	\
    ( (This)->lpVtbl -> put_PlotHidden(This,Hidden) ) 

#define IAcadLayout_get_PlotType(This,pType)	\
    ( (This)->lpVtbl -> get_PlotType(This,pType) ) 

#define IAcadLayout_put_PlotType(This,Type)	\
    ( (This)->lpVtbl -> put_PlotType(This,Type) ) 

#define IAcadLayout_get_ViewToPlot(This,pName)	\
    ( (This)->lpVtbl -> get_ViewToPlot(This,pName) ) 

#define IAcadLayout_put_ViewToPlot(This,Name)	\
    ( (This)->lpVtbl -> put_ViewToPlot(This,Name) ) 

#define IAcadLayout_get_UseStandardScale(This,pUseStdScale)	\
    ( (This)->lpVtbl -> get_UseStandardScale(This,pUseStdScale) ) 

#define IAcadLayout_put_UseStandardScale(This,UseStdScale)	\
    ( (This)->lpVtbl -> put_UseStandardScale(This,UseStdScale) ) 

#define IAcadLayout_get_StandardScale(This,pStdScale)	\
    ( (This)->lpVtbl -> get_StandardScale(This,pStdScale) ) 

#define IAcadLayout_put_StandardScale(This,StdScale)	\
    ( (This)->lpVtbl -> put_StandardScale(This,StdScale) ) 

#define IAcadLayout_GetCustomScale(This,Numerator,Denominator)	\
    ( (This)->lpVtbl -> GetCustomScale(This,Numerator,Denominator) ) 

#define IAcadLayout_SetCustomScale(This,Numerator,Denominator)	\
    ( (This)->lpVtbl -> SetCustomScale(This,Numerator,Denominator) ) 

#define IAcadLayout_get_ScaleLineweights(This,pScale)	\
    ( (This)->lpVtbl -> get_ScaleLineweights(This,pScale) ) 

#define IAcadLayout_put_ScaleLineweights(This,scale)	\
    ( (This)->lpVtbl -> put_ScaleLineweights(This,scale) ) 

#define IAcadLayout_get_PlotWithLineweights(This,pPlot)	\
    ( (This)->lpVtbl -> get_PlotWithLineweights(This,pPlot) ) 

#define IAcadLayout_put_PlotWithLineweights(This,plot)	\
    ( (This)->lpVtbl -> put_PlotWithLineweights(This,plot) ) 

#define IAcadLayout_get_PlotViewportsFirst(This,pViewportsFirst)	\
    ( (This)->lpVtbl -> get_PlotViewportsFirst(This,pViewportsFirst) ) 

#define IAcadLayout_put_PlotViewportsFirst(This,ViewportsFirst)	\
    ( (This)->lpVtbl -> put_PlotViewportsFirst(This,ViewportsFirst) ) 

#define IAcadLayout_get_StyleSheet(This,pName)	\
    ( (This)->lpVtbl -> get_StyleSheet(This,pName) ) 

#define IAcadLayout_put_StyleSheet(This,Name)	\
    ( (This)->lpVtbl -> put_StyleSheet(This,Name) ) 

#define IAcadLayout_GetPaperMargins(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> GetPaperMargins(This,LowerLeft,UpperRight) ) 

#define IAcadLayout_GetPaperSize(This,Width,Height)	\
    ( (This)->lpVtbl -> GetPaperSize(This,Width,Height) ) 

#define IAcadLayout_get_PlotOrigin(This,pOrigin)	\
    ( (This)->lpVtbl -> get_PlotOrigin(This,pOrigin) ) 

#define IAcadLayout_put_PlotOrigin(This,Origin)	\
    ( (This)->lpVtbl -> put_PlotOrigin(This,Origin) ) 

#define IAcadLayout_GetWindowToPlot(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> GetWindowToPlot(This,LowerLeft,UpperRight) ) 

#define IAcadLayout_SetWindowToPlot(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> SetWindowToPlot(This,LowerLeft,UpperRight) ) 

#define IAcadLayout_get_PlotWithPlotStyles(This,pStyles)	\
    ( (This)->lpVtbl -> get_PlotWithPlotStyles(This,pStyles) ) 

#define IAcadLayout_put_PlotWithPlotStyles(This,Styles)	\
    ( (This)->lpVtbl -> put_PlotWithPlotStyles(This,Styles) ) 

#define IAcadLayout_get_ModelType(This,pType)	\
    ( (This)->lpVtbl -> get_ModelType(This,pType) ) 

#define IAcadLayout_CopyFrom(This,pPlotConfig)	\
    ( (This)->lpVtbl -> CopyFrom(This,pPlotConfig) ) 

#define IAcadLayout_GetCanonicalMediaNames(This,pNames)	\
    ( (This)->lpVtbl -> GetCanonicalMediaNames(This,pNames) ) 

#define IAcadLayout_GetPlotDeviceNames(This,pNames)	\
    ( (This)->lpVtbl -> GetPlotDeviceNames(This,pNames) ) 

#define IAcadLayout_GetPlotStyleTableNames(This,pNames)	\
    ( (This)->lpVtbl -> GetPlotStyleTableNames(This,pNames) ) 

#define IAcadLayout_RefreshPlotDeviceInfo(This)	\
    ( (This)->lpVtbl -> RefreshPlotDeviceInfo(This) ) 

#define IAcadLayout_GetLocaleMediaName(This,Name,pLocalName)	\
    ( (This)->lpVtbl -> GetLocaleMediaName(This,Name,pLocalName) ) 


#define IAcadLayout_get_Block(This,pBlock)	\
    ( (This)->lpVtbl -> get_Block(This,pBlock) ) 

#define IAcadLayout_get_TabOrder(This,pOrder)	\
    ( (This)->lpVtbl -> get_TabOrder(This,pOrder) ) 

#define IAcadLayout_put_TabOrder(This,Order)	\
    ( (This)->lpVtbl -> put_TabOrder(This,Order) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLayout_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLayout,0x3C86A83D,0xA14D,0x4C01,0x9C,0x78,0x9A,0x5A,0xDD,0x21,0x06,0x38);

#ifdef __cplusplus

class DECLSPEC_UUID("3C86A83D-A14D-4C01-9C78-9A5ADD210638")
AcadLayout;
#endif

#ifndef __IAcadIdPair_INTERFACE_DEFINED__
#define __IAcadIdPair_INTERFACE_DEFINED__

/* interface IAcadIdPair */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadIdPair,0x0B7464A9,0x2EE4,0x43FB,0x89,0x2B,0x46,0xCD,0xBF,0x59,0x8A,0xCA);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0B7464A9-2EE4-43FB-892B-46CDBF598ACA")
    IAcadIdPair : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsCloned( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsOwnerXlated( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPrimary( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Key( 
            /* [retval][out] */ LONG_PTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
            /* [retval][out] */ LONG_PTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *ApplicationObject) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadIdPairVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadIdPair * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadIdPair * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadIdPair * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadIdPair * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadIdPair * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadIdPair * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadIdPair * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsCloned )( 
            IAcadIdPair * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsOwnerXlated )( 
            IAcadIdPair * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPrimary )( 
            IAcadIdPair * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Key )( 
            IAcadIdPair * This,
            /* [retval][out] */ LONG_PTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Value )( 
            IAcadIdPair * This,
            /* [retval][out] */ LONG_PTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadIdPair * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        END_INTERFACE
    } IAcadIdPairVtbl;

    interface IAcadIdPair
    {
        CONST_VTBL struct IAcadIdPairVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadIdPair_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadIdPair_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadIdPair_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadIdPair_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadIdPair_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadIdPair_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadIdPair_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadIdPair_get_IsCloned(This,pVal)	\
    ( (This)->lpVtbl -> get_IsCloned(This,pVal) ) 

#define IAcadIdPair_get_IsOwnerXlated(This,pVal)	\
    ( (This)->lpVtbl -> get_IsOwnerXlated(This,pVal) ) 

#define IAcadIdPair_get_IsPrimary(This,pVal)	\
    ( (This)->lpVtbl -> get_IsPrimary(This,pVal) ) 

#define IAcadIdPair_get_Key(This,pVal)	\
    ( (This)->lpVtbl -> get_Key(This,pVal) ) 

#define IAcadIdPair_get_Value(This,pVal)	\
    ( (This)->lpVtbl -> get_Value(This,pVal) ) 

#define IAcadIdPair_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadIdPair_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadIdPair,0x5CBAC317,0x6744,0x4C07,0x97,0xC5,0x49,0x12,0x02,0xD1,0x95,0x9C);

#ifdef __cplusplus

class DECLSPEC_UUID("5CBAC317-6744-4C07-97C5-491202D1959C")
AcadIdPair;
#endif

#ifndef __IAcadTableStyle_INTERFACE_DEFINED__
#define __IAcadTableStyle_INTERFACE_DEFINED__

/* interface IAcadTableStyle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTableStyle,0xA6CC03E9,0xCE22,0x44D7,0x9F,0xDD,0x2F,0x4F,0xD8,0xD9,0x0B,0xE0);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A6CC03E9-CE22-44D7-9FDD-2F4FD8D90BE0")
    IAcadTableStyle : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *bstr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BitFlags( 
            /* [retval][out] */ long *bitFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BitFlags( 
            /* [in] */ long bitFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FlowDirection( 
            /* [retval][out] */ AcTableDirection *pFlow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FlowDirection( 
            /* [in] */ AcTableDirection flow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorzCellMargin( 
            /* [retval][out] */ double *dHorzCellMargin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorzCellMargin( 
            /* [in] */ double dHorzCellMargin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VertCellMargin( 
            /* [retval][out] */ double *dVertCellMargin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VertCellMargin( 
            /* [in] */ double dVertCellmargin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TitleSuppressed( 
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TitleSuppressed( 
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HeaderSuppressed( 
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HeaderSuppressed( 
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextStyle( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextStyle( 
            /* [in] */ int rowTypes,
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextHeight( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ double *pTextHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextHeight( 
            /* [in] */ int rowTypes,
            /* [in] */ double textHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAlignment( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ AcCellAlignment *pCellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAlignment( 
            /* [in] */ int rowTypes,
            /* [in] */ AcCellAlignment cellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetColor( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetColor( 
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBackgroundColor( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundColor( 
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBackgroundColorNone( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundColorNone( 
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLineWeight( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLineWeight( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridColor( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridColor( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridVisibility( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridVisibility( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDataType( 
            /* [in] */ AcRowType rowType,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDataType( 
            /* [in] */ int rowTypes,
            /* [in] */ AcValueDataType nDataType,
            /* [in] */ AcValueUnitType nUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFormat( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFormat( 
            /* [in] */ int rowTypes,
            /* [in] */ BSTR val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateCellStyle( 
            /* [in] */ BSTR bstrCellStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateCellStyleFromStyle( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ BSTR bstrSourceCellStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RenameCellStyle( 
            /* [in] */ BSTR bstrOldName,
            /* [in] */ BSTR bstrNewName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteCellStyle( 
            /* [in] */ BSTR bstrCellStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetUniqueCellStyleName( 
            /* [in] */ BSTR pszBaseName,
            /* [retval][out] */ BSTR *pbstrUniqueName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetIsCellStyleInUse( 
            /* [in] */ BSTR pszCellStyle,
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumCellStyles( 
            /* [retval][out] */ long *numCellStyles) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellStyles( 
            /* [in] */ VARIANT *cellStylesArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextStyleId( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ LONG_PTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextStyleId( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ LONG_PTR val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextHeight2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextHeight2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAlignment2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ AcCellAlignment *pCellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAlignment2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcCellAlignment cellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ IAcadAcCmColor **color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ IAcadAcCmColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBackgroundColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ IAcadAcCmColor **color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ IAcadAcCmColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDataType2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDataType2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcValueDataType nDataType,
            /* [in] */ AcValueUnitType nUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFormat2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [out] */ BSTR *pbstrFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFormat2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ BSTR bstrFormat) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetCellClass( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ int *cellClass) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetCellClass( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ int cellClass) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetRotation( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ double *rotation) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE SetRotation( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ double rotation) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetIsMergeAllEnabled( 
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ VARIANT_BOOL *bEnable) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE EnableMergeAll( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ VARIANT_BOOL bEnable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLineWeight2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLineWeight2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridColor2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridVisibility2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridVisibility2( 
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TemplateId( 
            /* [retval][out] */ LONG_PTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TemplateId( 
            /* [in] */ LONG_PTR val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTemplateId( 
            /* [in] */ LONG_PTR val,
            AcMergeCellStyleOption option) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTableStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTableStyle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTableStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTableStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTableStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTableStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTableStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTableStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTableStyle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTableStyle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTableStyle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTableStyle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTableStyle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTableStyle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTableStyle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTableStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTableStyle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTableStyle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTableStyle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTableStyle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadTableStyle * This,
            /* [retval][out] */ BSTR *bstrValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadTableStyle * This,
            /* [retval][out] */ BSTR *bstr);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitFlags )( 
            IAcadTableStyle * This,
            /* [retval][out] */ long *bitFlag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BitFlags )( 
            IAcadTableStyle * This,
            /* [in] */ long bitFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FlowDirection )( 
            IAcadTableStyle * This,
            /* [retval][out] */ AcTableDirection *pFlow);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FlowDirection )( 
            IAcadTableStyle * This,
            /* [in] */ AcTableDirection flow);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorzCellMargin )( 
            IAcadTableStyle * This,
            /* [retval][out] */ double *dHorzCellMargin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorzCellMargin )( 
            IAcadTableStyle * This,
            /* [in] */ double dHorzCellMargin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VertCellMargin )( 
            IAcadTableStyle * This,
            /* [retval][out] */ double *dVertCellMargin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VertCellMargin )( 
            IAcadTableStyle * This,
            /* [in] */ double dVertCellmargin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TitleSuppressed )( 
            IAcadTableStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TitleSuppressed )( 
            IAcadTableStyle * This,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderSuppressed )( 
            IAcadTableStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderSuppressed )( 
            IAcadTableStyle * This,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextStyle )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextStyle )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextHeight )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ double *pTextHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextHeight )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ double textHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAlignment )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ AcCellAlignment *pCellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAlignment )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ AcCellAlignment cellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetColor )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetColor )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackgroundColorNone )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundColorNone )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLineWeight )( 
            IAcadTableStyle * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLineWeight )( 
            IAcadTableStyle * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridColor )( 
            IAcadTableStyle * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridColor )( 
            IAcadTableStyle * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridVisibility )( 
            IAcadTableStyle * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridVisibility )( 
            IAcadTableStyle * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataType )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDataType )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ AcValueDataType nDataType,
            /* [in] */ AcValueUnitType nUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
            IAcadTableStyle * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
            IAcadTableStyle * This,
            /* [in] */ int rowTypes,
            /* [in] */ BSTR val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateCellStyle )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateCellStyleFromStyle )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ BSTR bstrSourceCellStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RenameCellStyle )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrOldName,
            /* [in] */ BSTR bstrNewName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteCellStyle )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueCellStyleName )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR pszBaseName,
            /* [retval][out] */ BSTR *pbstrUniqueName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetIsCellStyleInUse )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR pszCellStyle,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumCellStyles )( 
            IAcadTableStyle * This,
            /* [retval][out] */ long *numCellStyles);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellStyles )( 
            IAcadTableStyle * This,
            /* [in] */ VARIANT *cellStylesArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextStyleId )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ LONG_PTR *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextStyleId )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ LONG_PTR val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextHeight2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextHeight2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAlignment2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ AcCellAlignment *pCellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAlignment2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcCellAlignment cellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ IAcadAcCmColor **color);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ IAcadAcCmColor *color);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ IAcadAcCmColor **color);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ IAcadAcCmColor *color);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataType2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDataType2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcValueDataType nDataType,
            /* [in] */ AcValueUnitType nUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFormat2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [out] */ BSTR *pbstrFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFormat2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ BSTR bstrFormat);
        
        HRESULT ( STDMETHODCALLTYPE *GetCellClass )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ int *cellClass);
        
        HRESULT ( STDMETHODCALLTYPE *SetCellClass )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ int cellClass);
        
        HRESULT ( STDMETHODCALLTYPE *GetRotation )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ double *rotation);
        
        HRESULT ( STDMETHODCALLTYPE *SetRotation )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ double rotation);
        
        HRESULT ( STDMETHODCALLTYPE *GetIsMergeAllEnabled )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [retval][out] */ VARIANT_BOOL *bEnable);
        
        HRESULT ( STDMETHODCALLTYPE *EnableMergeAll )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ VARIANT_BOOL bEnable);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLineWeight2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLineWeight2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridColor2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridVisibility2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineType,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridVisibility2 )( 
            IAcadTableStyle * This,
            /* [in] */ BSTR bstrCellStyle,
            /* [in] */ AcGridLineType gridLineTypes,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TemplateId )( 
            IAcadTableStyle * This,
            /* [retval][out] */ LONG_PTR *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TemplateId )( 
            IAcadTableStyle * This,
            /* [in] */ LONG_PTR val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTemplateId )( 
            IAcadTableStyle * This,
            /* [in] */ LONG_PTR val,
            AcMergeCellStyleOption option);
        
        END_INTERFACE
    } IAcadTableStyleVtbl;

    interface IAcadTableStyle
    {
        CONST_VTBL struct IAcadTableStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTableStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTableStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTableStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTableStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTableStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTableStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTableStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTableStyle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTableStyle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTableStyle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTableStyle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTableStyle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTableStyle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTableStyle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTableStyle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTableStyle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTableStyle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTableStyle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTableStyle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTableStyle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTableStyle_get_Name(This,bstrValue)	\
    ( (This)->lpVtbl -> get_Name(This,bstrValue) ) 

#define IAcadTableStyle_put_Name(This,bstrValue)	\
    ( (This)->lpVtbl -> put_Name(This,bstrValue) ) 

#define IAcadTableStyle_get_Description(This,bstr)	\
    ( (This)->lpVtbl -> get_Description(This,bstr) ) 

#define IAcadTableStyle_put_Description(This,bstrValue)	\
    ( (This)->lpVtbl -> put_Description(This,bstrValue) ) 

#define IAcadTableStyle_get_BitFlags(This,bitFlag)	\
    ( (This)->lpVtbl -> get_BitFlags(This,bitFlag) ) 

#define IAcadTableStyle_put_BitFlags(This,bitFlag)	\
    ( (This)->lpVtbl -> put_BitFlags(This,bitFlag) ) 

#define IAcadTableStyle_get_FlowDirection(This,pFlow)	\
    ( (This)->lpVtbl -> get_FlowDirection(This,pFlow) ) 

#define IAcadTableStyle_put_FlowDirection(This,flow)	\
    ( (This)->lpVtbl -> put_FlowDirection(This,flow) ) 

#define IAcadTableStyle_get_HorzCellMargin(This,dHorzCellMargin)	\
    ( (This)->lpVtbl -> get_HorzCellMargin(This,dHorzCellMargin) ) 

#define IAcadTableStyle_put_HorzCellMargin(This,dHorzCellMargin)	\
    ( (This)->lpVtbl -> put_HorzCellMargin(This,dHorzCellMargin) ) 

#define IAcadTableStyle_get_VertCellMargin(This,dVertCellMargin)	\
    ( (This)->lpVtbl -> get_VertCellMargin(This,dVertCellMargin) ) 

#define IAcadTableStyle_put_VertCellMargin(This,dVertCellmargin)	\
    ( (This)->lpVtbl -> put_VertCellMargin(This,dVertCellmargin) ) 

#define IAcadTableStyle_get_TitleSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> get_TitleSuppressed(This,bValue) ) 

#define IAcadTableStyle_put_TitleSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> put_TitleSuppressed(This,bValue) ) 

#define IAcadTableStyle_get_HeaderSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> get_HeaderSuppressed(This,bValue) ) 

#define IAcadTableStyle_put_HeaderSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> put_HeaderSuppressed(This,bValue) ) 

#define IAcadTableStyle_GetTextStyle(This,rowType,bstrName)	\
    ( (This)->lpVtbl -> GetTextStyle(This,rowType,bstrName) ) 

#define IAcadTableStyle_SetTextStyle(This,rowTypes,bstrName)	\
    ( (This)->lpVtbl -> SetTextStyle(This,rowTypes,bstrName) ) 

#define IAcadTableStyle_GetTextHeight(This,rowType,pTextHeight)	\
    ( (This)->lpVtbl -> GetTextHeight(This,rowType,pTextHeight) ) 

#define IAcadTableStyle_SetTextHeight(This,rowTypes,textHeight)	\
    ( (This)->lpVtbl -> SetTextHeight(This,rowTypes,textHeight) ) 

#define IAcadTableStyle_GetAlignment(This,rowType,pCellAlignment)	\
    ( (This)->lpVtbl -> GetAlignment(This,rowType,pCellAlignment) ) 

#define IAcadTableStyle_SetAlignment(This,rowTypes,cellAlignment)	\
    ( (This)->lpVtbl -> SetAlignment(This,rowTypes,cellAlignment) ) 

#define IAcadTableStyle_GetColor(This,rowType,pColor)	\
    ( (This)->lpVtbl -> GetColor(This,rowType,pColor) ) 

#define IAcadTableStyle_SetColor(This,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetColor(This,rowTypes,pColor) ) 

#define IAcadTableStyle_GetBackgroundColor(This,rowType,pColor)	\
    ( (This)->lpVtbl -> GetBackgroundColor(This,rowType,pColor) ) 

#define IAcadTableStyle_SetBackgroundColor(This,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetBackgroundColor(This,rowTypes,pColor) ) 

#define IAcadTableStyle_GetBackgroundColorNone(This,rowType,bValue)	\
    ( (This)->lpVtbl -> GetBackgroundColorNone(This,rowType,bValue) ) 

#define IAcadTableStyle_SetBackgroundColorNone(This,rowTypes,bValue)	\
    ( (This)->lpVtbl -> SetBackgroundColorNone(This,rowTypes,bValue) ) 

#define IAcadTableStyle_GetGridLineWeight(This,gridLineType,rowType,lineweight)	\
    ( (This)->lpVtbl -> GetGridLineWeight(This,gridLineType,rowType,lineweight) ) 

#define IAcadTableStyle_SetGridLineWeight(This,gridLineTypes,rowTypes,lineweight)	\
    ( (This)->lpVtbl -> SetGridLineWeight(This,gridLineTypes,rowTypes,lineweight) ) 

#define IAcadTableStyle_GetGridColor(This,gridLineType,rowType,pColor)	\
    ( (This)->lpVtbl -> GetGridColor(This,gridLineType,rowType,pColor) ) 

#define IAcadTableStyle_SetGridColor(This,gridLineTypes,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetGridColor(This,gridLineTypes,rowTypes,pColor) ) 

#define IAcadTableStyle_GetGridVisibility(This,gridLineType,rowType,bValue)	\
    ( (This)->lpVtbl -> GetGridVisibility(This,gridLineType,rowType,bValue) ) 

#define IAcadTableStyle_SetGridVisibility(This,gridLineTypes,rowTypes,bValue)	\
    ( (This)->lpVtbl -> SetGridVisibility(This,gridLineTypes,rowTypes,bValue) ) 

#define IAcadTableStyle_GetDataType(This,rowType,pDataType,pUnitType)	\
    ( (This)->lpVtbl -> GetDataType(This,rowType,pDataType,pUnitType) ) 

#define IAcadTableStyle_SetDataType(This,rowTypes,nDataType,nUnitType)	\
    ( (This)->lpVtbl -> SetDataType(This,rowTypes,nDataType,nUnitType) ) 

#define IAcadTableStyle_GetFormat(This,rowType,pVal)	\
    ( (This)->lpVtbl -> GetFormat(This,rowType,pVal) ) 

#define IAcadTableStyle_SetFormat(This,rowTypes,val)	\
    ( (This)->lpVtbl -> SetFormat(This,rowTypes,val) ) 

#define IAcadTableStyle_CreateCellStyle(This,bstrCellStyle)	\
    ( (This)->lpVtbl -> CreateCellStyle(This,bstrCellStyle) ) 

#define IAcadTableStyle_CreateCellStyleFromStyle(This,bstrCellStyle,bstrSourceCellStyle)	\
    ( (This)->lpVtbl -> CreateCellStyleFromStyle(This,bstrCellStyle,bstrSourceCellStyle) ) 

#define IAcadTableStyle_RenameCellStyle(This,bstrOldName,bstrNewName)	\
    ( (This)->lpVtbl -> RenameCellStyle(This,bstrOldName,bstrNewName) ) 

#define IAcadTableStyle_DeleteCellStyle(This,bstrCellStyle)	\
    ( (This)->lpVtbl -> DeleteCellStyle(This,bstrCellStyle) ) 

#define IAcadTableStyle_GetUniqueCellStyleName(This,pszBaseName,pbstrUniqueName)	\
    ( (This)->lpVtbl -> GetUniqueCellStyleName(This,pszBaseName,pbstrUniqueName) ) 

#define IAcadTableStyle_GetIsCellStyleInUse(This,pszCellStyle,pVal)	\
    ( (This)->lpVtbl -> GetIsCellStyleInUse(This,pszCellStyle,pVal) ) 

#define IAcadTableStyle_get_NumCellStyles(This,numCellStyles)	\
    ( (This)->lpVtbl -> get_NumCellStyles(This,numCellStyles) ) 

#define IAcadTableStyle_GetCellStyles(This,cellStylesArray)	\
    ( (This)->lpVtbl -> GetCellStyles(This,cellStylesArray) ) 

#define IAcadTableStyle_GetTextStyleId(This,bstrCellStyle,pVal)	\
    ( (This)->lpVtbl -> GetTextStyleId(This,bstrCellStyle,pVal) ) 

#define IAcadTableStyle_SetTextStyleId(This,bstrCellStyle,val)	\
    ( (This)->lpVtbl -> SetTextStyleId(This,bstrCellStyle,val) ) 

#define IAcadTableStyle_GetTextHeight2(This,bstrCellStyle,pHeight)	\
    ( (This)->lpVtbl -> GetTextHeight2(This,bstrCellStyle,pHeight) ) 

#define IAcadTableStyle_SetTextHeight2(This,bstrCellStyle,height)	\
    ( (This)->lpVtbl -> SetTextHeight2(This,bstrCellStyle,height) ) 

#define IAcadTableStyle_GetAlignment2(This,bstrCellStyle,pCellAlignment)	\
    ( (This)->lpVtbl -> GetAlignment2(This,bstrCellStyle,pCellAlignment) ) 

#define IAcadTableStyle_SetAlignment2(This,bstrCellStyle,cellAlignment)	\
    ( (This)->lpVtbl -> SetAlignment2(This,bstrCellStyle,cellAlignment) ) 

#define IAcadTableStyle_GetColor2(This,bstrCellStyle,color)	\
    ( (This)->lpVtbl -> GetColor2(This,bstrCellStyle,color) ) 

#define IAcadTableStyle_SetColor2(This,bstrCellStyle,color)	\
    ( (This)->lpVtbl -> SetColor2(This,bstrCellStyle,color) ) 

#define IAcadTableStyle_GetBackgroundColor2(This,bstrCellStyle,color)	\
    ( (This)->lpVtbl -> GetBackgroundColor2(This,bstrCellStyle,color) ) 

#define IAcadTableStyle_SetBackgroundColor2(This,bstrCellStyle,color)	\
    ( (This)->lpVtbl -> SetBackgroundColor2(This,bstrCellStyle,color) ) 

#define IAcadTableStyle_GetDataType2(This,bstrCellStyle,pDataType,pUnitType)	\
    ( (This)->lpVtbl -> GetDataType2(This,bstrCellStyle,pDataType,pUnitType) ) 

#define IAcadTableStyle_SetDataType2(This,bstrCellStyle,nDataType,nUnitType)	\
    ( (This)->lpVtbl -> SetDataType2(This,bstrCellStyle,nDataType,nUnitType) ) 

#define IAcadTableStyle_GetFormat2(This,bstrCellStyle,pbstrFormat)	\
    ( (This)->lpVtbl -> GetFormat2(This,bstrCellStyle,pbstrFormat) ) 

#define IAcadTableStyle_SetFormat2(This,bstrCellStyle,bstrFormat)	\
    ( (This)->lpVtbl -> SetFormat2(This,bstrCellStyle,bstrFormat) ) 

#define IAcadTableStyle_GetCellClass(This,bstrCellStyle,cellClass)	\
    ( (This)->lpVtbl -> GetCellClass(This,bstrCellStyle,cellClass) ) 

#define IAcadTableStyle_SetCellClass(This,bstrCellStyle,cellClass)	\
    ( (This)->lpVtbl -> SetCellClass(This,bstrCellStyle,cellClass) ) 

#define IAcadTableStyle_GetRotation(This,bstrCellStyle,rotation)	\
    ( (This)->lpVtbl -> GetRotation(This,bstrCellStyle,rotation) ) 

#define IAcadTableStyle_SetRotation(This,bstrCellStyle,rotation)	\
    ( (This)->lpVtbl -> SetRotation(This,bstrCellStyle,rotation) ) 

#define IAcadTableStyle_GetIsMergeAllEnabled(This,bstrCellStyle,bEnable)	\
    ( (This)->lpVtbl -> GetIsMergeAllEnabled(This,bstrCellStyle,bEnable) ) 

#define IAcadTableStyle_EnableMergeAll(This,bstrCellStyle,bEnable)	\
    ( (This)->lpVtbl -> EnableMergeAll(This,bstrCellStyle,bEnable) ) 

#define IAcadTableStyle_GetGridLineWeight2(This,bstrCellStyle,gridLineType,lineweight)	\
    ( (This)->lpVtbl -> GetGridLineWeight2(This,bstrCellStyle,gridLineType,lineweight) ) 

#define IAcadTableStyle_SetGridLineWeight2(This,bstrCellStyle,gridLineTypes,lineweight)	\
    ( (This)->lpVtbl -> SetGridLineWeight2(This,bstrCellStyle,gridLineTypes,lineweight) ) 

#define IAcadTableStyle_GetGridColor2(This,bstrCellStyle,gridLineType,pColor)	\
    ( (This)->lpVtbl -> GetGridColor2(This,bstrCellStyle,gridLineType,pColor) ) 

#define IAcadTableStyle_SetGridColor2(This,bstrCellStyle,gridLineTypes,pColor)	\
    ( (This)->lpVtbl -> SetGridColor2(This,bstrCellStyle,gridLineTypes,pColor) ) 

#define IAcadTableStyle_GetGridVisibility2(This,bstrCellStyle,gridLineType,bValue)	\
    ( (This)->lpVtbl -> GetGridVisibility2(This,bstrCellStyle,gridLineType,bValue) ) 

#define IAcadTableStyle_SetGridVisibility2(This,bstrCellStyle,gridLineTypes,bValue)	\
    ( (This)->lpVtbl -> SetGridVisibility2(This,bstrCellStyle,gridLineTypes,bValue) ) 

#define IAcadTableStyle_get_TemplateId(This,pVal)	\
    ( (This)->lpVtbl -> get_TemplateId(This,pVal) ) 

#define IAcadTableStyle_put_TemplateId(This,val)	\
    ( (This)->lpVtbl -> put_TemplateId(This,val) ) 

#define IAcadTableStyle_SetTemplateId(This,val,option)	\
    ( (This)->lpVtbl -> SetTemplateId(This,val,option) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadTableStyle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTableStyle,0x73157A89,0xABE5,0x40A5,0x88,0xE6,0xC0,0xC9,0x4B,0xC7,0x18,0xC7);

#ifdef __cplusplus

class DECLSPEC_UUID("73157A89-ABE5-40A5-88E6-C0C94BC718C7")
AcadTableStyle;
#endif

#ifndef __IAcadSectionSettings_INTERFACE_DEFINED__
#define __IAcadSectionSettings_INTERFACE_DEFINED__

/* interface IAcadSectionSettings */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSectionSettings,0x70D0DB2B,0x02DE,0x4314,0x9E,0x24,0x36,0x60,0x2E,0x73,0xE6,0xCE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("70D0DB2B-02DE-4314-9E24-36602E73E6CE")
    IAcadSectionSettings : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentSectionType( 
            /* [retval][out] */ AcSectionType *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentSectionType( 
            /* [in] */ AcSectionType val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSectionTypeSettings( 
            /* [in] */ AcSectionType secType,
            /* [retval][out] */ IAcadSectionTypeSettings **pUnk) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSectionSettingsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSectionSettings * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSectionSettings * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSectionSettings * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSectionSettings * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSectionSettings * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSectionSettings * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSectionSettings * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSectionSettings * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSectionSettings * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSectionSettings * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSectionSettings * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentSectionType )( 
            IAcadSectionSettings * This,
            /* [retval][out] */ AcSectionType *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CurrentSectionType )( 
            IAcadSectionSettings * This,
            /* [in] */ AcSectionType val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSectionTypeSettings )( 
            IAcadSectionSettings * This,
            /* [in] */ AcSectionType secType,
            /* [retval][out] */ IAcadSectionTypeSettings **pUnk);
        
        END_INTERFACE
    } IAcadSectionSettingsVtbl;

    interface IAcadSectionSettings
    {
        CONST_VTBL struct IAcadSectionSettingsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSectionSettings_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSectionSettings_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSectionSettings_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSectionSettings_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSectionSettings_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSectionSettings_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSectionSettings_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSectionSettings_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSectionSettings_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSectionSettings_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSectionSettings_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSectionSettings_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSectionSettings_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSectionSettings_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSectionSettings_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSectionSettings_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSectionSettings_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSectionSettings_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSectionSettings_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSectionSettings_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSectionSettings_get_CurrentSectionType(This,pVal)	\
    ( (This)->lpVtbl -> get_CurrentSectionType(This,pVal) ) 

#define IAcadSectionSettings_put_CurrentSectionType(This,val)	\
    ( (This)->lpVtbl -> put_CurrentSectionType(This,val) ) 

#define IAcadSectionSettings_GetSectionTypeSettings(This,secType,pUnk)	\
    ( (This)->lpVtbl -> GetSectionTypeSettings(This,secType,pUnk) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSectionSettings_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSectionSettings,0x46895C89,0x9976,0x44D0,0x9E,0xE2,0x0A,0x28,0x7B,0x04,0x29,0x74);

#ifdef __cplusplus

class DECLSPEC_UUID("46895C89-9976-44D0-9EE2-0A287B042974")
AcadSectionSettings;
#endif

DEFINE_GUID(CLSID_AcadSectionTypeSettings,0x7084FE2D,0xDDE9,0x40B8,0xA8,0xE7,0x5B,0x39,0x4F,0xDD,0xE6,0xD0);

#ifdef __cplusplus

class DECLSPEC_UUID("7084FE2D-DDE9-40B8-A8E7-5B394FDDE6D0")
AcadSectionTypeSettings;
#endif

#ifndef __IAcadMLeaderStyle_INTERFACE_DEFINED__
#define __IAcadMLeaderStyle_INTERFACE_DEFINED__

/* interface IAcadMLeaderStyle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMLeaderStyle,0x942855B4,0x9F24,0x4E04,0x83,0xBD,0xF9,0xAC,0xD3,0xCE,0x02,0x4A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("942855B4-9F24-4E04-83BD-F9ACD3CE024A")
    IAcadMLeaderStyle : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
            /* [retval][out] */ BSTR *description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
            /* [in] */ BSTR description) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BitFlags( 
            /* [retval][out] */ long *bitFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BitFlags( 
            /* [in] */ long bitFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ContentType( 
            /* [retval][out] */ AcMLeaderContentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ContentType( 
            /* [in] */ AcMLeaderContentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawMLeaderOrderType( 
            /* [retval][out] */ AcDrawMLeaderOrderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawMLeaderOrderType( 
            /* [in] */ AcDrawMLeaderOrderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawLeaderOrderType( 
            /* [retval][out] */ AcDrawLeaderOrderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawLeaderOrderType( 
            /* [in] */ AcDrawLeaderOrderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxLeaderSegmentsPoints( 
            /* [retval][out] */ int *number) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MaxLeaderSegmentsPoints( 
            /* [in] */ int number) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FirstSegmentAngleConstraint( 
            /* [retval][out] */ AcSegmentAngleType *constraint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FirstSegmentAngleConstraint( 
            /* [in] */ AcSegmentAngleType constraint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SecondSegmentAngleConstraint( 
            /* [retval][out] */ AcSegmentAngleType *constraint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SecondSegmentAngleConstraint( 
            /* [in] */ AcSegmentAngleType constraint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineType( 
            /* [retval][out] */ AcMLeaderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineType( 
            /* [in] */ AcMLeaderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineColor( 
            /* [retval][out] */ IAcadAcCmColor **color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineColor( 
            /* [in] */ IAcadAcCmColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineTypeId( 
            /* [retval][out] */ ACAD_LTYPE *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineTypeId( 
            /* [in] */ ACAD_LTYPE type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineWeight( 
            /* [retval][out] */ AcLineWeight *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineWeight( 
            /* [in] */ AcLineWeight weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableLanding( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableLanding( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LandingGap( 
            /* [retval][out] */ double *landingGap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LandingGap( 
            /* [in] */ double landingGap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableDogleg( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableDogleg( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DoglegLength( 
            /* [retval][out] */ double *doglegLength) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DoglegLength( 
            /* [in] */ double doglegLength) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowSymbol( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowSymbol( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyle( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextStyle( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAttachmentDirection( 
            /* [retval][out] */ AcTextAttachmentDirection *dir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAttachmentDirection( 
            /* [in] */ AcTextAttachmentDirection dir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextLeftAttachmentType( 
            /* [retval][out] */ AcTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextLeftAttachmentType( 
            /* [in] */ AcTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRightAttachmentType( 
            /* [retval][out] */ AcTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextRightAttachmentType( 
            /* [in] */ AcTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextTopAttachmentType( 
            /* [retval][out] */ AcVerticalTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextTopAttachmentType( 
            /* [in] */ AcVerticalTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextBottomAttachmentType( 
            /* [retval][out] */ AcVerticalTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextBottomAttachmentType( 
            /* [in] */ AcVerticalTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextColor( 
            /* [retval][out] */ IAcadAcCmColor **color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextColor( 
            /* [in] */ IAcadAcCmColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableFrameText( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableFrameText( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AlignSpace( 
            /* [retval][out] */ double *alignSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AlignSpace( 
            /* [in] */ double alignSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Block( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Block( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockColor( 
            /* [retval][out] */ IAcadAcCmColor **color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockColor( 
            /* [in] */ IAcadAcCmColor *color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableBlockScale( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableBlockScale( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockScale( 
            /* [retval][out] */ double *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockScale( 
            /* [in] */ double scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EnableBlockRotation( 
            /* [retval][out] */ VARIANT_BOOL *enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableBlockRotation( 
            /* [in] */ VARIANT_BOOL enabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockRotation( 
            /* [retval][out] */ double *rotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockRotation( 
            /* [in] */ double rotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockConnectionType( 
            /* [retval][out] */ AcBlockConnectionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockConnectionType( 
            /* [in] */ AcBlockConnectionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OverwritePropChanged( 
            /* [retval][out] */ VARIANT_BOOL *changed) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Annotative( 
            /* [retval][out] */ VARIANT_BOOL *annotative) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Annotative( 
            /* [in] */ VARIANT_BOOL annotative) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BreakSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BreakSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *text) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR text) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAngleType( 
            /* [retval][out] */ AcTextAngleType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAngleType( 
            /* [in] */ AcTextAngleType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentType( 
            /* [retval][out] */ AcTextAlignmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentType( 
            /* [in] */ AcTextAlignmentType type) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMLeaderStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMLeaderStyle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMLeaderStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMLeaderStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMLeaderStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMLeaderStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMLeaderStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMLeaderStyle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMLeaderStyle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMLeaderStyle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Description )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *description);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Description )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR description);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BitFlags )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ long *bitFlag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BitFlags )( 
            IAcadMLeaderStyle * This,
            /* [in] */ long bitFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcMLeaderContentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcMLeaderContentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DrawMLeaderOrderType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcDrawMLeaderOrderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DrawMLeaderOrderType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcDrawMLeaderOrderType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DrawLeaderOrderType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcDrawLeaderOrderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DrawLeaderOrderType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcDrawLeaderOrderType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxLeaderSegmentsPoints )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ int *number);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxLeaderSegmentsPoints )( 
            IAcadMLeaderStyle * This,
            /* [in] */ int number);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FirstSegmentAngleConstraint )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcSegmentAngleType *constraint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FirstSegmentAngleConstraint )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcSegmentAngleType constraint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecondSegmentAngleConstraint )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcSegmentAngleType *constraint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SecondSegmentAngleConstraint )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcSegmentAngleType constraint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcMLeaderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcMLeaderType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineColor )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ IAcadAcCmColor **color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineColor )( 
            IAcadMLeaderStyle * This,
            /* [in] */ IAcadAcCmColor *color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineTypeId )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ ACAD_LTYPE *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineTypeId )( 
            IAcadMLeaderStyle * This,
            /* [in] */ ACAD_LTYPE type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineWeight )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcLineWeight *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineWeight )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcLineWeight weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableLanding )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableLanding )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LandingGap )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *landingGap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LandingGap )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double landingGap);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableDogleg )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableDogleg )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DoglegLength )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *doglegLength);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DoglegLength )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double doglegLength);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowSymbol )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowSymbol )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowSize )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowSize )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAttachmentDirection )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcTextAttachmentDirection *dir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAttachmentDirection )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcTextAttachmentDirection dir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextLeftAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextLeftAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRightAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRightAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextTopAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcVerticalTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextTopAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcVerticalTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextBottomAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcVerticalTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextBottomAttachmentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcVerticalTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ IAcadAcCmColor **color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadMLeaderStyle * This,
            /* [in] */ IAcadAcCmColor *color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableFrameText )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableFrameText )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlignSpace )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *alignSpace);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlignSpace )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double alignSpace);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Block )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Block )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockColor )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ IAcadAcCmColor **color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockColor )( 
            IAcadMLeaderStyle * This,
            /* [in] */ IAcadAcCmColor *color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableBlockScale )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableBlockScale )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockScale )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockScale )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableBlockRotation )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *enabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableBlockRotation )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL enabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockRotation )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *rotation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockRotation )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double rotation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockConnectionType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcBlockConnectionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockConnectionType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcBlockConnectionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OverwritePropChanged )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *changed);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Annotative )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ VARIANT_BOOL *annotative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Annotative )( 
            IAcadMLeaderStyle * This,
            /* [in] */ VARIANT_BOOL annotative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BreakSize )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BreakSize )( 
            IAcadMLeaderStyle * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ BSTR *text);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadMLeaderStyle * This,
            /* [in] */ BSTR text);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAngleType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcTextAngleType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAngleType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcTextAngleType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAlignmentType )( 
            IAcadMLeaderStyle * This,
            /* [retval][out] */ AcTextAlignmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAlignmentType )( 
            IAcadMLeaderStyle * This,
            /* [in] */ AcTextAlignmentType type);
        
        END_INTERFACE
    } IAcadMLeaderStyleVtbl;

    interface IAcadMLeaderStyle
    {
        CONST_VTBL struct IAcadMLeaderStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMLeaderStyle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMLeaderStyle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMLeaderStyle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMLeaderStyle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMLeaderStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMLeaderStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMLeaderStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMLeaderStyle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMLeaderStyle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMLeaderStyle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMLeaderStyle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMLeaderStyle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMLeaderStyle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMLeaderStyle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMLeaderStyle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMLeaderStyle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMLeaderStyle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMLeaderStyle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMLeaderStyle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMLeaderStyle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMLeaderStyle_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define IAcadMLeaderStyle_put_Name(This,name)	\
    ( (This)->lpVtbl -> put_Name(This,name) ) 

#define IAcadMLeaderStyle_get_Description(This,description)	\
    ( (This)->lpVtbl -> get_Description(This,description) ) 

#define IAcadMLeaderStyle_put_Description(This,description)	\
    ( (This)->lpVtbl -> put_Description(This,description) ) 

#define IAcadMLeaderStyle_get_BitFlags(This,bitFlag)	\
    ( (This)->lpVtbl -> get_BitFlags(This,bitFlag) ) 

#define IAcadMLeaderStyle_put_BitFlags(This,bitFlag)	\
    ( (This)->lpVtbl -> put_BitFlags(This,bitFlag) ) 

#define IAcadMLeaderStyle_get_ContentType(This,type)	\
    ( (This)->lpVtbl -> get_ContentType(This,type) ) 

#define IAcadMLeaderStyle_put_ContentType(This,type)	\
    ( (This)->lpVtbl -> put_ContentType(This,type) ) 

#define IAcadMLeaderStyle_get_DrawMLeaderOrderType(This,type)	\
    ( (This)->lpVtbl -> get_DrawMLeaderOrderType(This,type) ) 

#define IAcadMLeaderStyle_put_DrawMLeaderOrderType(This,type)	\
    ( (This)->lpVtbl -> put_DrawMLeaderOrderType(This,type) ) 

#define IAcadMLeaderStyle_get_DrawLeaderOrderType(This,type)	\
    ( (This)->lpVtbl -> get_DrawLeaderOrderType(This,type) ) 

#define IAcadMLeaderStyle_put_DrawLeaderOrderType(This,type)	\
    ( (This)->lpVtbl -> put_DrawLeaderOrderType(This,type) ) 

#define IAcadMLeaderStyle_get_MaxLeaderSegmentsPoints(This,number)	\
    ( (This)->lpVtbl -> get_MaxLeaderSegmentsPoints(This,number) ) 

#define IAcadMLeaderStyle_put_MaxLeaderSegmentsPoints(This,number)	\
    ( (This)->lpVtbl -> put_MaxLeaderSegmentsPoints(This,number) ) 

#define IAcadMLeaderStyle_get_FirstSegmentAngleConstraint(This,constraint)	\
    ( (This)->lpVtbl -> get_FirstSegmentAngleConstraint(This,constraint) ) 

#define IAcadMLeaderStyle_put_FirstSegmentAngleConstraint(This,constraint)	\
    ( (This)->lpVtbl -> put_FirstSegmentAngleConstraint(This,constraint) ) 

#define IAcadMLeaderStyle_get_SecondSegmentAngleConstraint(This,constraint)	\
    ( (This)->lpVtbl -> get_SecondSegmentAngleConstraint(This,constraint) ) 

#define IAcadMLeaderStyle_put_SecondSegmentAngleConstraint(This,constraint)	\
    ( (This)->lpVtbl -> put_SecondSegmentAngleConstraint(This,constraint) ) 

#define IAcadMLeaderStyle_get_LeaderLineType(This,type)	\
    ( (This)->lpVtbl -> get_LeaderLineType(This,type) ) 

#define IAcadMLeaderStyle_put_LeaderLineType(This,type)	\
    ( (This)->lpVtbl -> put_LeaderLineType(This,type) ) 

#define IAcadMLeaderStyle_get_LeaderLineColor(This,color)	\
    ( (This)->lpVtbl -> get_LeaderLineColor(This,color) ) 

#define IAcadMLeaderStyle_put_LeaderLineColor(This,color)	\
    ( (This)->lpVtbl -> put_LeaderLineColor(This,color) ) 

#define IAcadMLeaderStyle_get_LeaderLineTypeId(This,type)	\
    ( (This)->lpVtbl -> get_LeaderLineTypeId(This,type) ) 

#define IAcadMLeaderStyle_put_LeaderLineTypeId(This,type)	\
    ( (This)->lpVtbl -> put_LeaderLineTypeId(This,type) ) 

#define IAcadMLeaderStyle_get_LeaderLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_LeaderLineWeight(This,weight) ) 

#define IAcadMLeaderStyle_put_LeaderLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_LeaderLineWeight(This,weight) ) 

#define IAcadMLeaderStyle_get_EnableLanding(This,enabled)	\
    ( (This)->lpVtbl -> get_EnableLanding(This,enabled) ) 

#define IAcadMLeaderStyle_put_EnableLanding(This,enabled)	\
    ( (This)->lpVtbl -> put_EnableLanding(This,enabled) ) 

#define IAcadMLeaderStyle_get_LandingGap(This,landingGap)	\
    ( (This)->lpVtbl -> get_LandingGap(This,landingGap) ) 

#define IAcadMLeaderStyle_put_LandingGap(This,landingGap)	\
    ( (This)->lpVtbl -> put_LandingGap(This,landingGap) ) 

#define IAcadMLeaderStyle_get_EnableDogleg(This,enabled)	\
    ( (This)->lpVtbl -> get_EnableDogleg(This,enabled) ) 

#define IAcadMLeaderStyle_put_EnableDogleg(This,enabled)	\
    ( (This)->lpVtbl -> put_EnableDogleg(This,enabled) ) 

#define IAcadMLeaderStyle_get_DoglegLength(This,doglegLength)	\
    ( (This)->lpVtbl -> get_DoglegLength(This,doglegLength) ) 

#define IAcadMLeaderStyle_put_DoglegLength(This,doglegLength)	\
    ( (This)->lpVtbl -> put_DoglegLength(This,doglegLength) ) 

#define IAcadMLeaderStyle_get_ArrowSymbol(This,name)	\
    ( (This)->lpVtbl -> get_ArrowSymbol(This,name) ) 

#define IAcadMLeaderStyle_put_ArrowSymbol(This,name)	\
    ( (This)->lpVtbl -> put_ArrowSymbol(This,name) ) 

#define IAcadMLeaderStyle_get_ArrowSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowSize(This,size) ) 

#define IAcadMLeaderStyle_put_ArrowSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowSize(This,size) ) 

#define IAcadMLeaderStyle_get_TextStyle(This,name)	\
    ( (This)->lpVtbl -> get_TextStyle(This,name) ) 

#define IAcadMLeaderStyle_put_TextStyle(This,name)	\
    ( (This)->lpVtbl -> put_TextStyle(This,name) ) 

#define IAcadMLeaderStyle_get_TextAttachmentDirection(This,dir)	\
    ( (This)->lpVtbl -> get_TextAttachmentDirection(This,dir) ) 

#define IAcadMLeaderStyle_put_TextAttachmentDirection(This,dir)	\
    ( (This)->lpVtbl -> put_TextAttachmentDirection(This,dir) ) 

#define IAcadMLeaderStyle_get_TextLeftAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextLeftAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_put_TextLeftAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextLeftAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_get_TextRightAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextRightAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_put_TextRightAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextRightAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_get_TextTopAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextTopAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_put_TextTopAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextTopAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_get_TextBottomAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextBottomAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_put_TextBottomAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextBottomAttachmentType(This,type) ) 

#define IAcadMLeaderStyle_get_TextColor(This,color)	\
    ( (This)->lpVtbl -> get_TextColor(This,color) ) 

#define IAcadMLeaderStyle_put_TextColor(This,color)	\
    ( (This)->lpVtbl -> put_TextColor(This,color) ) 

#define IAcadMLeaderStyle_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadMLeaderStyle_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadMLeaderStyle_get_EnableFrameText(This,enabled)	\
    ( (This)->lpVtbl -> get_EnableFrameText(This,enabled) ) 

#define IAcadMLeaderStyle_put_EnableFrameText(This,enabled)	\
    ( (This)->lpVtbl -> put_EnableFrameText(This,enabled) ) 

#define IAcadMLeaderStyle_get_AlignSpace(This,alignSpace)	\
    ( (This)->lpVtbl -> get_AlignSpace(This,alignSpace) ) 

#define IAcadMLeaderStyle_put_AlignSpace(This,alignSpace)	\
    ( (This)->lpVtbl -> put_AlignSpace(This,alignSpace) ) 

#define IAcadMLeaderStyle_get_Block(This,name)	\
    ( (This)->lpVtbl -> get_Block(This,name) ) 

#define IAcadMLeaderStyle_put_Block(This,name)	\
    ( (This)->lpVtbl -> put_Block(This,name) ) 

#define IAcadMLeaderStyle_get_BlockColor(This,color)	\
    ( (This)->lpVtbl -> get_BlockColor(This,color) ) 

#define IAcadMLeaderStyle_put_BlockColor(This,color)	\
    ( (This)->lpVtbl -> put_BlockColor(This,color) ) 

#define IAcadMLeaderStyle_get_EnableBlockScale(This,enabled)	\
    ( (This)->lpVtbl -> get_EnableBlockScale(This,enabled) ) 

#define IAcadMLeaderStyle_put_EnableBlockScale(This,enabled)	\
    ( (This)->lpVtbl -> put_EnableBlockScale(This,enabled) ) 

#define IAcadMLeaderStyle_get_BlockScale(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_BlockScale(This,scaleFactor) ) 

#define IAcadMLeaderStyle_put_BlockScale(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_BlockScale(This,scaleFactor) ) 

#define IAcadMLeaderStyle_get_EnableBlockRotation(This,enabled)	\
    ( (This)->lpVtbl -> get_EnableBlockRotation(This,enabled) ) 

#define IAcadMLeaderStyle_put_EnableBlockRotation(This,enabled)	\
    ( (This)->lpVtbl -> put_EnableBlockRotation(This,enabled) ) 

#define IAcadMLeaderStyle_get_BlockRotation(This,rotation)	\
    ( (This)->lpVtbl -> get_BlockRotation(This,rotation) ) 

#define IAcadMLeaderStyle_put_BlockRotation(This,rotation)	\
    ( (This)->lpVtbl -> put_BlockRotation(This,rotation) ) 

#define IAcadMLeaderStyle_get_BlockConnectionType(This,type)	\
    ( (This)->lpVtbl -> get_BlockConnectionType(This,type) ) 

#define IAcadMLeaderStyle_put_BlockConnectionType(This,type)	\
    ( (This)->lpVtbl -> put_BlockConnectionType(This,type) ) 

#define IAcadMLeaderStyle_get_ScaleFactor(This,Scale)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,Scale) ) 

#define IAcadMLeaderStyle_put_ScaleFactor(This,Scale)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,Scale) ) 

#define IAcadMLeaderStyle_get_OverwritePropChanged(This,changed)	\
    ( (This)->lpVtbl -> get_OverwritePropChanged(This,changed) ) 

#define IAcadMLeaderStyle_get_Annotative(This,annotative)	\
    ( (This)->lpVtbl -> get_Annotative(This,annotative) ) 

#define IAcadMLeaderStyle_put_Annotative(This,annotative)	\
    ( (This)->lpVtbl -> put_Annotative(This,annotative) ) 

#define IAcadMLeaderStyle_get_BreakSize(This,size)	\
    ( (This)->lpVtbl -> get_BreakSize(This,size) ) 

#define IAcadMLeaderStyle_put_BreakSize(This,size)	\
    ( (This)->lpVtbl -> put_BreakSize(This,size) ) 

#define IAcadMLeaderStyle_get_TextString(This,text)	\
    ( (This)->lpVtbl -> get_TextString(This,text) ) 

#define IAcadMLeaderStyle_put_TextString(This,text)	\
    ( (This)->lpVtbl -> put_TextString(This,text) ) 

#define IAcadMLeaderStyle_get_TextAngleType(This,type)	\
    ( (This)->lpVtbl -> get_TextAngleType(This,type) ) 

#define IAcadMLeaderStyle_put_TextAngleType(This,type)	\
    ( (This)->lpVtbl -> put_TextAngleType(This,type) ) 

#define IAcadMLeaderStyle_get_TextAlignmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextAlignmentType(This,type) ) 

#define IAcadMLeaderStyle_put_TextAlignmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextAlignmentType(This,type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMLeaderStyle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMLeaderStyle,0xE2C1822C,0x791C,0x48BB,0xAF,0xD0,0x00,0x89,0x0D,0xE8,0x60,0xC1);

#ifdef __cplusplus

class DECLSPEC_UUID("E2C1822C-791C-48BB-AFD0-00890DE860C1")
AcadMLeaderStyle;
#endif

#ifndef __IAcadHyperlinks_INTERFACE_DEFINED__
#define __IAcadHyperlinks_INTERFACE_DEFINED__

/* interface IAcadHyperlinks */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadHyperlinks,0xADC92631,0x6239,0x4B28,0x93,0xB4,0xA2,0x60,0x67,0xB0,0x3B,0x16);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ADC92631-6239-4B28-93B4-A26067B03B16")
    IAcadHyperlinks : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ long Index,
            /* [retval][out] */ IAcadHyperlink **pItem) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *ApplicationObject) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT NamedLocation,
            /* [retval][out] */ IAcadHyperlink **pHyperlink) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadHyperlinksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadHyperlinks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadHyperlinks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadHyperlinks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadHyperlinks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadHyperlinks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadHyperlinks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadHyperlinks * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadHyperlinks * This,
            /* [in] */ long Index,
            /* [retval][out] */ IAcadHyperlink **pItem);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadHyperlinks * This,
            /* [retval][out] */ long *pVal);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadHyperlinks * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadHyperlinks * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadHyperlinks * This,
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT Description,
            /* [optional][in] */ VARIANT NamedLocation,
            /* [retval][out] */ IAcadHyperlink **pHyperlink);
        
        END_INTERFACE
    } IAcadHyperlinksVtbl;

    interface IAcadHyperlinks
    {
        CONST_VTBL struct IAcadHyperlinksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadHyperlinks_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadHyperlinks_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadHyperlinks_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadHyperlinks_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadHyperlinks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadHyperlinks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadHyperlinks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadHyperlinks_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadHyperlinks_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadHyperlinks_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadHyperlinks_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadHyperlinks_Add(This,Name,Description,NamedLocation,pHyperlink)	\
    ( (This)->lpVtbl -> Add(This,Name,Description,NamedLocation,pHyperlink) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadHyperlinks_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadHyperlinks,0xD47353F4,0x2B25,0x4374,0x9F,0x19,0x94,0x73,0x96,0x83,0x3E,0xB7);

#ifdef __cplusplus

class DECLSPEC_UUID("D47353F4-2B25-4374-9F19-947396833EB7")
AcadHyperlinks;
#endif

DEFINE_GUID(CLSID_AcadDictionary,0x8F61C491,0xAA22,0x4AB8,0x8B,0x2D,0xE2,0x4B,0x0A,0xA4,0x30,0x3D);

#ifdef __cplusplus

class DECLSPEC_UUID("8F61C491-AA22-4AB8-8B2D-E24B0AA4303D")
AcadDictionary;
#endif

#ifndef __IAcadLayers_INTERFACE_DEFINED__
#define __IAcadLayers_INTERFACE_DEFINED__

/* interface IAcadLayers */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLayers,0x3C2FF4D9,0xC019,0x4F33,0x9B,0x51,0xEB,0xF3,0x88,0x23,0xC7,0x3E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3C2FF4D9-C019-4F33-9B51-EBF38823C73E")
    IAcadLayers : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLayer **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLayer **pLayer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GenerateUsageData( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLayersVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLayers * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLayers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLayers * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLayers * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLayers * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLayers * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLayers * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLayers * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLayers * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLayers * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLayers * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLayers * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLayers * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLayers * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLayers * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLayers * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLayers * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLayers * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLayers * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLayers * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadLayers * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLayer **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadLayers * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadLayers * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadLayers * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLayer **pLayer);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateUsageData )( 
            IAcadLayers * This);
        
        END_INTERFACE
    } IAcadLayersVtbl;

    interface IAcadLayers
    {
        CONST_VTBL struct IAcadLayersVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLayers_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLayers_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLayers_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLayers_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLayers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLayers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLayers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLayers_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLayers_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLayers_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLayers_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLayers_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLayers_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLayers_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLayers_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLayers_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLayers_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLayers_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLayers_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLayers_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLayers_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadLayers_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadLayers_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadLayers_Add(This,Name,pLayer)	\
    ( (This)->lpVtbl -> Add(This,Name,pLayer) ) 

#define IAcadLayers_GenerateUsageData(This)	\
    ( (This)->lpVtbl -> GenerateUsageData(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLayers_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLayers,0x8FF9E9CA,0x01F5,0x404C,0xB6,0xB6,0x6D,0x1A,0xD2,0xB8,0x90,0x68);

#ifdef __cplusplus

class DECLSPEC_UUID("8FF9E9CA-01F5-404C-B6B6-6D1AD2B89068")
AcadLayers;
#endif

#ifndef __IAcadDimStyles_INTERFACE_DEFINED__
#define __IAcadDimStyles_INTERFACE_DEFINED__

/* interface IAcadDimStyles */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimStyles,0x871BD19A,0xA769,0x40CF,0x96,0x04,0x9D,0xB1,0x53,0x6F,0x98,0x9E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("871BD19A-A769-40CF-9604-9DB1536F989E")
    IAcadDimStyles : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadDimStyle **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadDimStyle **pDimStyle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimStyles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimStyles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimStyles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimStyles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimStyles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimStyles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimStyles * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimStyles * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimStyles * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimStyles * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimStyles * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimStyles * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimStyles * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimStyles * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimStyles * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimStyles * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimStyles * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimStyles * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimStyles * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimStyles * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadDimStyles * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadDimStyle **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadDimStyles * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadDimStyles * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadDimStyles * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadDimStyle **pDimStyle);
        
        END_INTERFACE
    } IAcadDimStylesVtbl;

    interface IAcadDimStyles
    {
        CONST_VTBL struct IAcadDimStylesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimStyles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimStyles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimStyles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimStyles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimStyles_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimStyles_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimStyles_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimStyles_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimStyles_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimStyles_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimStyles_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimStyles_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimStyles_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimStyles_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimStyles_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimStyles_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimStyles_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimStyles_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadDimStyles_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadDimStyles_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadDimStyles_Add(This,Name,pDimStyle)	\
    ( (This)->lpVtbl -> Add(This,Name,pDimStyle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDimStyles_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimStyles,0xAA24F9EC,0xC62B,0x4402,0x91,0x40,0xCD,0x41,0xD5,0x84,0xFF,0x8C);

#ifdef __cplusplus

class DECLSPEC_UUID("AA24F9EC-C62B-4402-9140-CD41D584FF8C")
AcadDimStyles;
#endif

#ifndef __IAcadDictionaries_INTERFACE_DEFINED__
#define __IAcadDictionaries_INTERFACE_DEFINED__

/* interface IAcadDictionaries */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDictionaries,0xE60815F5,0xB65A,0x4487,0xB5,0x24,0x85,0xE4,0xCE,0x17,0x2D,0xC5);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E60815F5-B65A-4487-B524-85E4CE172DC5")
    IAcadDictionaries : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadObject **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadDictionary **pDimStyle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDictionariesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDictionaries * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDictionaries * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDictionaries * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDictionaries * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDictionaries * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDictionaries * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDictionaries * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDictionaries * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDictionaries * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDictionaries * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDictionaries * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDictionaries * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDictionaries * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDictionaries * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDictionaries * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDictionaries * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDictionaries * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDictionaries * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDictionaries * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDictionaries * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadDictionaries * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadObject **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadDictionaries * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadDictionaries * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadDictionaries * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadDictionary **pDimStyle);
        
        END_INTERFACE
    } IAcadDictionariesVtbl;

    interface IAcadDictionaries
    {
        CONST_VTBL struct IAcadDictionariesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDictionaries_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDictionaries_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDictionaries_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDictionaries_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDictionaries_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDictionaries_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDictionaries_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDictionaries_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDictionaries_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDictionaries_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDictionaries_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDictionaries_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDictionaries_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDictionaries_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDictionaries_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDictionaries_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDictionaries_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDictionaries_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDictionaries_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDictionaries_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDictionaries_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadDictionaries_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadDictionaries_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadDictionaries_Add(This,Name,pDimStyle)	\
    ( (This)->lpVtbl -> Add(This,Name,pDimStyle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDictionaries_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDictionaries,0xC005A45C,0xBE76,0x4545,0x88,0xA3,0x82,0x4A,0xE3,0x39,0xAE,0x0F);

#ifdef __cplusplus

class DECLSPEC_UUID("C005A45C-BE76-4545-88A3-824AE339AE0F")
AcadDictionaries;
#endif

#ifndef __IAcadLineTypes_INTERFACE_DEFINED__
#define __IAcadLineTypes_INTERFACE_DEFINED__

/* interface IAcadLineTypes */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLineTypes,0x36CA10B7,0x7880,0x4CC7,0xB2,0x3E,0x73,0xF6,0x33,0x54,0x3B,0xF8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("36CA10B7-7880-4CC7-B23E-73F633543BF8")
    IAcadLineTypes : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLineType **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLineType **pLinetype) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR Name,
            /* [in] */ BSTR FileName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLineTypesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLineTypes * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLineTypes * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLineTypes * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLineTypes * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLineTypes * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLineTypes * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLineTypes * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLineTypes * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLineTypes * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLineTypes * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLineTypes * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLineTypes * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLineTypes * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLineTypes * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLineTypes * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLineTypes * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLineTypes * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLineTypes * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLineTypes * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLineTypes * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadLineTypes * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLineType **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadLineTypes * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadLineTypes * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadLineTypes * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLineType **pLinetype);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IAcadLineTypes * This,
            /* [in] */ BSTR Name,
            /* [in] */ BSTR FileName);
        
        END_INTERFACE
    } IAcadLineTypesVtbl;

    interface IAcadLineTypes
    {
        CONST_VTBL struct IAcadLineTypesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLineTypes_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLineTypes_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLineTypes_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLineTypes_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLineTypes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLineTypes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLineTypes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLineTypes_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLineTypes_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLineTypes_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLineTypes_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLineTypes_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLineTypes_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLineTypes_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLineTypes_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLineTypes_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLineTypes_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLineTypes_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLineTypes_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLineTypes_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLineTypes_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadLineTypes_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadLineTypes_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadLineTypes_Add(This,Name,pLinetype)	\
    ( (This)->lpVtbl -> Add(This,Name,pLinetype) ) 

#define IAcadLineTypes_Load(This,Name,FileName)	\
    ( (This)->lpVtbl -> Load(This,Name,FileName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLineTypes_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLineTypes,0xB9A8A472,0x84CA,0x451B,0x9B,0xC2,0x19,0x6E,0xA7,0xF5,0x97,0x6B);

#ifdef __cplusplus

class DECLSPEC_UUID("B9A8A472-84CA-451B-9BC2-196EA7F5976B")
AcadLineTypes;
#endif

#ifndef __IAcadMaterials_INTERFACE_DEFINED__
#define __IAcadMaterials_INTERFACE_DEFINED__

/* interface IAcadMaterials */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMaterials,0xD0FFE301,0xA8F9,0x43A1,0x9C,0x24,0xAB,0x98,0x8D,0x38,0xE8,0x00);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D0FFE301-A8F9-43A1-9C24-AB988D38E800")
    IAcadMaterials : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadMaterial **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadMaterial **pDimStyle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMaterialsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMaterials * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMaterials * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMaterials * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMaterials * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMaterials * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMaterials * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMaterials * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMaterials * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMaterials * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMaterials * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMaterials * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMaterials * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMaterials * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMaterials * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMaterials * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMaterials * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMaterials * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMaterials * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMaterials * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMaterials * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadMaterials * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadMaterial **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadMaterials * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadMaterials * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadMaterials * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadMaterial **pDimStyle);
        
        END_INTERFACE
    } IAcadMaterialsVtbl;

    interface IAcadMaterials
    {
        CONST_VTBL struct IAcadMaterialsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMaterials_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMaterials_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMaterials_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMaterials_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMaterials_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMaterials_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMaterials_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMaterials_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMaterials_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMaterials_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMaterials_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMaterials_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMaterials_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMaterials_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMaterials_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMaterials_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMaterials_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMaterials_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMaterials_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMaterials_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMaterials_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadMaterials_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadMaterials_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadMaterials_Add(This,Name,pDimStyle)	\
    ( (This)->lpVtbl -> Add(This,Name,pDimStyle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMaterials_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMaterials,0x73ED7D31,0xC3F0,0x42F0,0x89,0xBB,0x1F,0xB3,0x65,0x75,0xAC,0x01);

#ifdef __cplusplus

class DECLSPEC_UUID("73ED7D31-C3F0-42F0-89BB-1FB36575AC01")
AcadMaterials;
#endif

#ifndef __IAcadTextStyles_INTERFACE_DEFINED__
#define __IAcadTextStyles_INTERFACE_DEFINED__

/* interface IAcadTextStyles */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTextStyles,0xD79F9515,0x4BF8,0x4306,0x8E,0xC7,0x11,0x23,0x7E,0xA6,0xA3,0xF0);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D79F9515-4BF8-4306-8EC7-11237EA6A3F0")
    IAcadTextStyles : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadTextStyle **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadTextStyle **pTextStyle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTextStylesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTextStyles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTextStyles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTextStyles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTextStyles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTextStyles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTextStyles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTextStyles * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTextStyles * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTextStyles * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTextStyles * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTextStyles * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTextStyles * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTextStyles * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTextStyles * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTextStyles * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTextStyles * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTextStyles * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTextStyles * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTextStyles * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTextStyles * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadTextStyles * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadTextStyle **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadTextStyles * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadTextStyles * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadTextStyles * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadTextStyle **pTextStyle);
        
        END_INTERFACE
    } IAcadTextStylesVtbl;

    interface IAcadTextStyles
    {
        CONST_VTBL struct IAcadTextStylesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTextStyles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTextStyles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTextStyles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTextStyles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTextStyles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTextStyles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTextStyles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTextStyles_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTextStyles_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTextStyles_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTextStyles_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTextStyles_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTextStyles_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTextStyles_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTextStyles_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTextStyles_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTextStyles_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTextStyles_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTextStyles_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTextStyles_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTextStyles_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadTextStyles_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadTextStyles_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadTextStyles_Add(This,Name,pTextStyle)	\
    ( (This)->lpVtbl -> Add(This,Name,pTextStyle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadTextStyles_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTextStyles,0x86FE5CB4,0xF8C2,0x4EEA,0x8A,0x68,0xF6,0x59,0x77,0x6D,0xAB,0x34);

#ifdef __cplusplus

class DECLSPEC_UUID("86FE5CB4-F8C2-4EEA-8A68-F659776DAB34")
AcadTextStyles;
#endif

#ifndef __IAcadUCSs_INTERFACE_DEFINED__
#define __IAcadUCSs_INTERFACE_DEFINED__

/* interface IAcadUCSs */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadUCSs,0x6751FE0D,0x4EF6,0x4629,0xAA,0xF4,0x74,0x9F,0x67,0xDE,0x56,0xFD);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6751FE0D-4EF6-4629-AAF4-749F67DE56FD")
    IAcadUCSs : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadUCS **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ VARIANT Origin,
            /* [in] */ VARIANT XAxisPoint,
            /* [in] */ VARIANT YAxisPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadUCS **pUCS) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadUCSsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadUCSs * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadUCSs * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadUCSs * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadUCSs * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadUCSs * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadUCSs * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadUCSs * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadUCSs * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadUCSs * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadUCSs * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadUCSs * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadUCSs * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadUCSs * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadUCSs * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadUCSs * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadUCSs * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadUCSs * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadUCSs * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadUCSs * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadUCSs * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadUCSs * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadUCS **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadUCSs * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadUCSs * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadUCSs * This,
            /* [in] */ VARIANT Origin,
            /* [in] */ VARIANT XAxisPoint,
            /* [in] */ VARIANT YAxisPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadUCS **pUCS);
        
        END_INTERFACE
    } IAcadUCSsVtbl;

    interface IAcadUCSs
    {
        CONST_VTBL struct IAcadUCSsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadUCSs_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadUCSs_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadUCSs_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadUCSs_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadUCSs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadUCSs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadUCSs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadUCSs_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadUCSs_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadUCSs_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadUCSs_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadUCSs_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadUCSs_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadUCSs_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadUCSs_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadUCSs_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadUCSs_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadUCSs_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadUCSs_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadUCSs_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadUCSs_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadUCSs_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadUCSs_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadUCSs_Add(This,Origin,XAxisPoint,YAxisPoint,Name,pUCS)	\
    ( (This)->lpVtbl -> Add(This,Origin,XAxisPoint,YAxisPoint,Name,pUCS) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadUCSs_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadUCSs,0x31373C76,0xDBEC,0x4845,0x9F,0x3C,0xB5,0x05,0xBF,0xBE,0xE6,0xCF);

#ifdef __cplusplus

class DECLSPEC_UUID("31373C76-DBEC-4845-9F3C-B505BFBEE6CF")
AcadUCSs;
#endif

#ifndef __IAcadRegisteredApplications_INTERFACE_DEFINED__
#define __IAcadRegisteredApplications_INTERFACE_DEFINED__

/* interface IAcadRegisteredApplications */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRegisteredApplications,0x193905D4,0x75B9,0x4588,0x96,0x57,0xB1,0x4C,0x59,0x1C,0x6D,0x63);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("193905D4-75B9-4588-9657-B14C591C6D63")
    IAcadRegisteredApplications : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadRegisteredApplication **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadRegisteredApplication **pRegApp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRegisteredApplicationsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRegisteredApplications * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRegisteredApplications * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRegisteredApplications * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRegisteredApplications * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRegisteredApplications * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRegisteredApplications * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRegisteredApplications * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRegisteredApplications * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRegisteredApplications * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRegisteredApplications * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRegisteredApplications * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadRegisteredApplications * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadRegisteredApplication **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadRegisteredApplications * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadRegisteredApplications * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadRegisteredApplication **pRegApp);
        
        END_INTERFACE
    } IAcadRegisteredApplicationsVtbl;

    interface IAcadRegisteredApplications
    {
        CONST_VTBL struct IAcadRegisteredApplicationsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRegisteredApplications_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRegisteredApplications_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRegisteredApplications_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRegisteredApplications_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRegisteredApplications_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRegisteredApplications_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRegisteredApplications_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRegisteredApplications_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRegisteredApplications_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRegisteredApplications_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRegisteredApplications_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRegisteredApplications_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRegisteredApplications_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRegisteredApplications_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRegisteredApplications_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRegisteredApplications_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRegisteredApplications_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRegisteredApplications_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRegisteredApplications_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRegisteredApplications_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRegisteredApplications_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadRegisteredApplications_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadRegisteredApplications_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadRegisteredApplications_Add(This,Name,pRegApp)	\
    ( (This)->lpVtbl -> Add(This,Name,pRegApp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRegisteredApplications_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRegisteredApplications,0x605060C2,0xE478,0x4598,0xB8,0x1E,0x74,0x27,0xB3,0xFC,0xD8,0x82);

#ifdef __cplusplus

class DECLSPEC_UUID("605060C2-E478-4598-B81E-7427B3FCD882")
AcadRegisteredApplications;
#endif

#ifndef __IAcadViews_INTERFACE_DEFINED__
#define __IAcadViews_INTERFACE_DEFINED__

/* interface IAcadViews */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadViews,0x53DEA486,0x5BC3,0x4686,0xAF,0xAB,0xE5,0x4D,0xBB,0x4E,0x6A,0xF9);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("53DEA486-5BC3-4686-AFAB-E54DBB4E6AF9")
    IAcadViews : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadView **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadView **pRegApp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadViewsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadViews * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadViews * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadViews * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadViews * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadViews * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadViews * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadViews * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadViews * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadViews * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadViews * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadViews * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadViews * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadViews * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadViews * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadViews * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadViews * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadViews * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadViews * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadViews * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadViews * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadViews * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadView **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadViews * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadViews * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadViews * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadView **pRegApp);
        
        END_INTERFACE
    } IAcadViewsVtbl;

    interface IAcadViews
    {
        CONST_VTBL struct IAcadViewsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadViews_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadViews_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadViews_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadViews_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadViews_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadViews_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadViews_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadViews_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadViews_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadViews_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadViews_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadViews_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadViews_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadViews_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadViews_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadViews_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadViews_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadViews_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadViews_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadViews_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadViews_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadViews_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadViews_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadViews_Add(This,Name,pRegApp)	\
    ( (This)->lpVtbl -> Add(This,Name,pRegApp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadViews_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadViews,0x296C1C76,0x4212,0x40A2,0x9E,0x9C,0x96,0x7F,0x98,0x1A,0x35,0xF5);

#ifdef __cplusplus

class DECLSPEC_UUID("296C1C76-4212-40A2-9E9C-967F981A35F5")
AcadViews;
#endif

#ifndef __IAcadViewports_INTERFACE_DEFINED__
#define __IAcadViewports_INTERFACE_DEFINED__

/* interface IAcadViewports */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadViewports,0x132E8BA2,0xBC0C,0x4F5F,0xB2,0x55,0x3F,0x16,0xF4,0x86,0xA9,0x2A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("132E8BA2-BC0C-4F5F-B255-3F16F486A92A")
    IAcadViewports : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadViewport **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadViewport **pRegApp) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteConfiguration( 
            /* [in] */ BSTR Name) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadViewportsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadViewports * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadViewports * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadViewports * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadViewports * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadViewports * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadViewports * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadViewports * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadViewports * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadViewports * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadViewports * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadViewports * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadViewports * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadViewports * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadViewports * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadViewports * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadViewports * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadViewports * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadViewports * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadViewports * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadViewports * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadViewports * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadViewport **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadViewports * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadViewports * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadViewports * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadViewport **pRegApp);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteConfiguration )( 
            IAcadViewports * This,
            /* [in] */ BSTR Name);
        
        END_INTERFACE
    } IAcadViewportsVtbl;

    interface IAcadViewports
    {
        CONST_VTBL struct IAcadViewportsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadViewports_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadViewports_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadViewports_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadViewports_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadViewports_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadViewports_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadViewports_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadViewports_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadViewports_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadViewports_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadViewports_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadViewports_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadViewports_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadViewports_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadViewports_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadViewports_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadViewports_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadViewports_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadViewports_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadViewports_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadViewports_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadViewports_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadViewports_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadViewports_Add(This,Name,pRegApp)	\
    ( (This)->lpVtbl -> Add(This,Name,pRegApp) ) 

#define IAcadViewports_DeleteConfiguration(This,Name)	\
    ( (This)->lpVtbl -> DeleteConfiguration(This,Name) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadViewports_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadViewports,0x84211AEC,0x9103,0x487C,0x83,0x31,0xCD,0xFC,0x37,0xB4,0x56,0x4B);

#ifdef __cplusplus

class DECLSPEC_UUID("84211AEC-9103-487C-8331-CDFC37B4564B")
AcadViewports;
#endif

#ifndef __IAcadGroups_INTERFACE_DEFINED__
#define __IAcadGroups_INTERFACE_DEFINED__

/* interface IAcadGroups */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadGroups,0xA3CF0DC7,0x4016,0x41AD,0x8F,0x8C,0xD8,0x3C,0x9D,0x9B,0x9F,0xA6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A3CF0DC7-4016-41AD-8F8C-D83C9D9B9FA6")
    IAcadGroups : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadGroup **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadGroup **pDimStyle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadGroupsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadGroups * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadGroups * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadGroups * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadGroups * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadGroups * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadGroups * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadGroups * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadGroups * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadGroups * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadGroups * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadGroups * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadGroups * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadGroups * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadGroups * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadGroups * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadGroups * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadGroups * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadGroups * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadGroups * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadGroups * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadGroups * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadGroup **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadGroups * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadGroups * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadGroups * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadGroup **pDimStyle);
        
        END_INTERFACE
    } IAcadGroupsVtbl;

    interface IAcadGroups
    {
        CONST_VTBL struct IAcadGroupsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadGroups_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadGroups_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadGroups_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadGroups_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadGroups_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadGroups_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadGroups_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadGroups_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadGroups_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadGroups_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadGroups_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadGroups_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadGroups_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadGroups_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadGroups_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadGroups_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadGroups_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadGroups_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadGroups_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadGroups_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadGroups_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadGroups_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadGroups_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadGroups_Add(This,Name,pDimStyle)	\
    ( (This)->lpVtbl -> Add(This,Name,pDimStyle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadGroups_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadGroups,0x9BC2494F,0x4B3C,0x4436,0x88,0x33,0x1A,0x12,0x89,0x4F,0x8B,0x08);

#ifdef __cplusplus

class DECLSPEC_UUID("9BC2494F-4B3C-4436-8833-1A12894F8B08")
AcadGroups;
#endif

#ifndef __IAcadBlocks_INTERFACE_DEFINED__
#define __IAcadBlocks_INTERFACE_DEFINED__

/* interface IAcadBlocks */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadBlocks,0x9B9CD398,0x3C8C,0x4BE2,0xB0,0xB4,0x78,0x21,0x64,0xDE,0xAE,0x82);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9B9CD398-3C8C-4BE2-B0B4-782164DEAE82")
    IAcadBlocks : public IAcadObject
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadBlock **pItem) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadBlock **pBlock) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadBlocksVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadBlocks * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadBlocks * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadBlocks * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadBlocks * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadBlocks * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadBlocks * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadBlocks * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadBlocks * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadBlocks * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadBlocks * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadBlocks * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadBlocks * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadBlocks * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadBlocks * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadBlocks * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadBlocks * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadBlocks * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadBlocks * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadBlocks * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadBlocks * This);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadBlocks * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadBlock **pItem);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadBlocks * This,
            /* [retval][out] */ long *pVal);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadBlocks * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadBlocks * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadBlock **pBlock);
        
        END_INTERFACE
    } IAcadBlocksVtbl;

    interface IAcadBlocks
    {
        CONST_VTBL struct IAcadBlocksVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadBlocks_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadBlocks_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadBlocks_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadBlocks_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadBlocks_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadBlocks_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadBlocks_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadBlocks_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadBlocks_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadBlocks_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadBlocks_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadBlocks_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadBlocks_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadBlocks_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadBlocks_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadBlocks_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadBlocks_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadBlocks_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadBlocks_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadBlocks_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadBlocks_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadBlocks_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadBlocks_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadBlocks_Add(This,InsertionPoint,Name,pBlock)	\
    ( (This)->lpVtbl -> Add(This,InsertionPoint,Name,pBlock) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadBlocks_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadBlocks,0xA2F54202,0x7064,0x4C66,0x99,0x91,0x21,0xC0,0xA9,0x72,0x57,0xEA);

#ifdef __cplusplus

class DECLSPEC_UUID("A2F54202-7064-4C66-9991-21C0A97257EA")
AcadBlocks;
#endif

#ifndef __IAcadLayouts_INTERFACE_DEFINED__
#define __IAcadLayouts_INTERFACE_DEFINED__

/* interface IAcadLayouts */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLayouts,0xBC902621,0x2A8A,0x4AB8,0x92,0xDF,0xC2,0x27,0x22,0x15,0xBC,0x10);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("BC902621-2A8A-4AB8-92DF-C2272215BC10")
    IAcadLayouts : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLayout **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLayout **pLayout) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLayoutsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLayouts * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLayouts * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLayouts * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLayouts * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLayouts * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLayouts * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLayouts * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLayouts * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLayouts * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLayouts * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLayouts * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLayouts * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLayouts * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLayouts * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLayouts * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLayouts * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLayouts * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLayouts * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLayouts * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLayouts * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadLayouts * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadLayout **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadLayouts * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadLayouts * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadLayouts * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadLayout **pLayout);
        
        END_INTERFACE
    } IAcadLayoutsVtbl;

    interface IAcadLayouts
    {
        CONST_VTBL struct IAcadLayoutsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLayouts_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLayouts_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLayouts_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLayouts_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLayouts_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLayouts_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLayouts_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLayouts_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLayouts_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLayouts_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLayouts_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLayouts_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLayouts_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLayouts_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLayouts_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLayouts_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLayouts_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLayouts_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLayouts_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLayouts_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLayouts_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadLayouts_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadLayouts_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadLayouts_Add(This,Name,pLayout)	\
    ( (This)->lpVtbl -> Add(This,Name,pLayout) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLayouts_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLayouts,0xD3D1C947,0xF2ED,0x499C,0xAF,0xBB,0x7D,0xBE,0x95,0x0A,0x59,0x63);

#ifdef __cplusplus

class DECLSPEC_UUID("D3D1C947-F2ED-499C-AFBB-7DBE950A5963")
AcadLayouts;
#endif

#ifndef __IAcadPlotConfigurations_INTERFACE_DEFINED__
#define __IAcadPlotConfigurations_INTERFACE_DEFINED__

/* interface IAcadPlotConfigurations */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPlotConfigurations,0xE75BFCDE,0xA03A,0x43CA,0xA4,0x94,0x81,0xC7,0x39,0x8E,0xA9,0xDD);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E75BFCDE-A03A-43CA-A494-81C7398EA9DD")
    IAcadPlotConfigurations : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadPlotConfiguration **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pCount) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT ModelType,
            /* [retval][out] */ IAcadPlotConfiguration **pPlotConfig) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPlotConfigurationsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPlotConfigurations * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPlotConfigurations * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPlotConfigurations * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPlotConfigurations * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPlotConfigurations * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPlotConfigurations * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPlotConfigurations * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPlotConfigurations * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPlotConfigurations * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPlotConfigurations * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPlotConfigurations * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadPlotConfigurations * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadPlotConfiguration **pItem);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ long *pCount);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadPlotConfigurations * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadPlotConfigurations * This,
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT ModelType,
            /* [retval][out] */ IAcadPlotConfiguration **pPlotConfig);
        
        END_INTERFACE
    } IAcadPlotConfigurationsVtbl;

    interface IAcadPlotConfigurations
    {
        CONST_VTBL struct IAcadPlotConfigurationsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPlotConfigurations_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPlotConfigurations_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPlotConfigurations_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPlotConfigurations_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPlotConfigurations_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPlotConfigurations_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPlotConfigurations_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPlotConfigurations_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPlotConfigurations_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPlotConfigurations_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPlotConfigurations_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPlotConfigurations_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPlotConfigurations_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPlotConfigurations_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPlotConfigurations_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPlotConfigurations_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPlotConfigurations_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPlotConfigurations_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPlotConfigurations_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPlotConfigurations_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPlotConfigurations_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadPlotConfigurations_get_Count(This,pCount)	\
    ( (This)->lpVtbl -> get_Count(This,pCount) ) 

#define IAcadPlotConfigurations_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadPlotConfigurations_Add(This,Name,ModelType,pPlotConfig)	\
    ( (This)->lpVtbl -> Add(This,Name,ModelType,pPlotConfig) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPlotConfigurations_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPlotConfigurations,0xF38759B2,0x1A83,0x4D74,0x87,0xFD,0xFE,0x36,0x3D,0x8A,0x7B,0x91);

#ifdef __cplusplus

class DECLSPEC_UUID("F38759B2-1A83-4D74-87FD-FE363D8A7B91")
AcadPlotConfigurations;
#endif

DEFINE_GUID(CLSID_AcadEntity,0x571498B7,0x54A9,0x409E,0x9B,0x06,0x9D,0xD7,0xDB,0xC7,0xE0,0xBD);

#ifdef __cplusplus

class DECLSPEC_UUID("571498B7-54A9-409E-9B06-9DD7DBC7E0BD")
AcadEntity;
#endif

#ifndef __IAcadShadowDisplay_INTERFACE_DEFINED__
#define __IAcadShadowDisplay_INTERFACE_DEFINED__

/* interface IAcadShadowDisplay */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadShadowDisplay,0xB082D67C,0x2E59,0x40B1,0x87,0x41,0x85,0x58,0x5E,0x9D,0x92,0xA6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B082D67C-2E59-40B1-8741-85585E9D92A6")
    IAcadShadowDisplay : public IUnknown
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShadowDisplay( 
            /* [retval][out] */ AcShadowDisplayType *shadowDisplay) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ShadowDisplay( 
            /* [in] */ AcShadowDisplayType shadowDisplay) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_EnableShadowDisplay( 
            /* [retval][out] */ BOOL *shadowDisplay) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadShadowDisplayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadShadowDisplay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadShadowDisplay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadShadowDisplay * This);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShadowDisplay )( 
            IAcadShadowDisplay * This,
            /* [retval][out] */ AcShadowDisplayType *shadowDisplay);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShadowDisplay )( 
            IAcadShadowDisplay * This,
            /* [in] */ AcShadowDisplayType shadowDisplay);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableShadowDisplay )( 
            IAcadShadowDisplay * This,
            /* [retval][out] */ BOOL *shadowDisplay);
        
        END_INTERFACE
    } IAcadShadowDisplayVtbl;

    interface IAcadShadowDisplay
    {
        CONST_VTBL struct IAcadShadowDisplayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadShadowDisplay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadShadowDisplay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadShadowDisplay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadShadowDisplay_get_ShadowDisplay(This,shadowDisplay)	\
    ( (This)->lpVtbl -> get_ShadowDisplay(This,shadowDisplay) ) 

#define IAcadShadowDisplay_put_ShadowDisplay(This,shadowDisplay)	\
    ( (This)->lpVtbl -> put_ShadowDisplay(This,shadowDisplay) ) 

#define IAcadShadowDisplay_get_EnableShadowDisplay(This,shadowDisplay)	\
    ( (This)->lpVtbl -> get_EnableShadowDisplay(This,shadowDisplay) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadShadowDisplay_INTERFACE_DEFINED__ */


#ifndef __IAcadRasterImage_INTERFACE_DEFINED__
#define __IAcadRasterImage_INTERFACE_DEFINED__

/* interface IAcadRasterImage */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRasterImage,0x795E8972,0x3235,0x454C,0x96,0xF4,0x6E,0xC7,0xA5,0x8B,0x4F,0xC9);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("795E8972-3235-454C-96F4-6EC7A58B4FC9")
    IAcadRasterImage : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Brightness( 
            /* [retval][out] */ long *brightness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Brightness( 
            /* [in] */ long brightness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Contrast( 
            /* [retval][out] */ long *contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Contrast( 
            /* [in] */ long contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fade( 
            /* [retval][out] */ long *fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fade( 
            /* [in] */ long fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ VARIANT *origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ VARIANT Origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImageWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ImageWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImageHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ImageHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ImageFile( 
            /* [in] */ BSTR imageFileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImageFile( 
            /* [retval][out] */ BSTR *imageFileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ImageVisibility( 
            /* [retval][out] */ VARIANT_BOOL *fVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ImageVisibility( 
            /* [in] */ VARIANT_BOOL fVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClippingEnabled( 
            /* [retval][out] */ VARIANT_BOOL *kClip) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ClippingEnabled( 
            /* [in] */ VARIANT_BOOL kClip) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Transparency( 
            /* [retval][out] */ VARIANT_BOOL *bTransp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Transparency( 
            /* [in] */ VARIANT_BOOL bTransp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClipBoundary( 
            /* [in] */ VARIANT boundry) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pixelHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pixelWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowRotation( 
            /* [retval][out] */ VARIANT_BOOL *bShow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowRotation( 
            /* [in] */ VARIANT_BOOL bShow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRasterImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRasterImage * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRasterImage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRasterImage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRasterImage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRasterImage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRasterImage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRasterImage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRasterImage * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRasterImage * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRasterImage * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRasterImage * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRasterImage * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRasterImage * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRasterImage * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRasterImage * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadRasterImage * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadRasterImage * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadRasterImage * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadRasterImage * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadRasterImage * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadRasterImage * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadRasterImage * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadRasterImage * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadRasterImage * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadRasterImage * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadRasterImage * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadRasterImage * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadRasterImage * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadRasterImage * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadRasterImage * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadRasterImage * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Brightness )( 
            IAcadRasterImage * This,
            /* [retval][out] */ long *brightness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Brightness )( 
            IAcadRasterImage * This,
            /* [in] */ long brightness);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            IAcadRasterImage * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            IAcadRasterImage * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fade )( 
            IAcadRasterImage * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fade )( 
            IAcadRasterImage * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT Origin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadRasterImage * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadRasterImage * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageWidth )( 
            IAcadRasterImage * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageWidth )( 
            IAcadRasterImage * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageHeight )( 
            IAcadRasterImage * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageHeight )( 
            IAcadRasterImage * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageFile )( 
            IAcadRasterImage * This,
            /* [in] */ BSTR imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageFile )( 
            IAcadRasterImage * This,
            /* [retval][out] */ BSTR *imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageVisibility )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *fVisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageVisibility )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL fVisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingEnabled )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *kClip);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingEnabled )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL kClip);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *bTransp);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL bTransp);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClipBoundary )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT boundry);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadRasterImage * This,
            /* [retval][out] */ double *pixelHeight);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadRasterImage * This,
            /* [retval][out] */ double *pixelWidth);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRotation )( 
            IAcadRasterImage * This,
            /* [retval][out] */ VARIANT_BOOL *bShow);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowRotation )( 
            IAcadRasterImage * This,
            /* [in] */ VARIANT_BOOL bShow);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadRasterImage * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadRasterImage * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        END_INTERFACE
    } IAcadRasterImageVtbl;

    interface IAcadRasterImage
    {
        CONST_VTBL struct IAcadRasterImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRasterImage_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRasterImage_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRasterImage_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRasterImage_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRasterImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRasterImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRasterImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRasterImage_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRasterImage_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRasterImage_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRasterImage_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRasterImage_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRasterImage_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRasterImage_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRasterImage_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRasterImage_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRasterImage_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRasterImage_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRasterImage_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRasterImage_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRasterImage_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadRasterImage_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadRasterImage_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadRasterImage_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadRasterImage_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadRasterImage_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadRasterImage_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadRasterImage_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadRasterImage_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadRasterImage_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadRasterImage_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadRasterImage_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadRasterImage_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadRasterImage_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadRasterImage_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadRasterImage_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadRasterImage_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadRasterImage_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadRasterImage_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadRasterImage_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadRasterImage_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadRasterImage_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadRasterImage_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadRasterImage_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadRasterImage_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadRasterImage_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadRasterImage_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadRasterImage_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadRasterImage_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadRasterImage_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadRasterImage_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadRasterImage_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadRasterImage_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadRasterImage_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadRasterImage_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadRasterImage_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadRasterImage_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadRasterImage_get_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> get_Brightness(This,brightness) ) 

#define IAcadRasterImage_put_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> put_Brightness(This,brightness) ) 

#define IAcadRasterImage_get_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,contrast) ) 

#define IAcadRasterImage_put_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,contrast) ) 

#define IAcadRasterImage_get_Fade(This,fade)	\
    ( (This)->lpVtbl -> get_Fade(This,fade) ) 

#define IAcadRasterImage_put_Fade(This,fade)	\
    ( (This)->lpVtbl -> put_Fade(This,fade) ) 

#define IAcadRasterImage_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadRasterImage_put_Origin(This,Origin)	\
    ( (This)->lpVtbl -> put_Origin(This,Origin) ) 

#define IAcadRasterImage_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadRasterImage_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadRasterImage_get_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> get_ImageWidth(This,width) ) 

#define IAcadRasterImage_put_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> put_ImageWidth(This,width) ) 

#define IAcadRasterImage_get_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> get_ImageHeight(This,height) ) 

#define IAcadRasterImage_put_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> put_ImageHeight(This,height) ) 

#define IAcadRasterImage_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define IAcadRasterImage_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define IAcadRasterImage_put_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> put_ImageFile(This,imageFileName) ) 

#define IAcadRasterImage_get_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> get_ImageFile(This,imageFileName) ) 

#define IAcadRasterImage_get_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> get_ImageVisibility(This,fVisible) ) 

#define IAcadRasterImage_put_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> put_ImageVisibility(This,fVisible) ) 

#define IAcadRasterImage_get_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> get_ClippingEnabled(This,kClip) ) 

#define IAcadRasterImage_put_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> put_ClippingEnabled(This,kClip) ) 

#define IAcadRasterImage_get_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> get_Transparency(This,bTransp) ) 

#define IAcadRasterImage_put_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> put_Transparency(This,bTransp) ) 

#define IAcadRasterImage_ClipBoundary(This,boundry)	\
    ( (This)->lpVtbl -> ClipBoundary(This,boundry) ) 

#define IAcadRasterImage_get_Height(This,pixelHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pixelHeight) ) 

#define IAcadRasterImage_get_Width(This,pixelWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pixelWidth) ) 

#define IAcadRasterImage_get_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> get_ShowRotation(This,bShow) ) 

#define IAcadRasterImage_put_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> put_ShowRotation(This,bShow) ) 

#define IAcadRasterImage_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define IAcadRasterImage_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRasterImage_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRasterImage,0x92F84802,0x891F,0x46CB,0x92,0x1F,0xD6,0xD8,0xFD,0x9F,0xE0,0x0A);

#ifdef __cplusplus

class DECLSPEC_UUID("92F84802-891F-46CB-921F-D6D8FD9FE00A")
AcadRasterImage;
#endif

#ifndef __IAcad3DFace_INTERFACE_DEFINED__
#define __IAcad3DFace_INTERFACE_DEFINED__

/* interface IAcad3DFace */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcad3DFace,0x3E10548B,0xBA1A,0x4DCD,0xA7,0x7F,0x33,0x2D,0x3B,0xAC,0xC4,0x47);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3E10548B-BA1A-4DCD-A77F-332D3BACC447")
    IAcad3DFace : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge1( 
            /* [retval][out] */ VARIANT_BOOL *visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge1( 
            /* [in] */ VARIANT_BOOL visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge2( 
            /* [retval][out] */ VARIANT_BOOL *visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge2( 
            /* [in] */ VARIANT_BOOL visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge3( 
            /* [retval][out] */ VARIANT_BOOL *visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge3( 
            /* [in] */ VARIANT_BOOL visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VisibilityEdge4( 
            /* [retval][out] */ VARIANT_BOOL *visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VisibilityEdge4( 
            /* [in] */ VARIANT_BOOL visibility) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetInvisibleEdge( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT_BOOL *bVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetInvisibleEdge( 
            /* [in] */ int Index,
            /* [in] */ VARIANT_BOOL State) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcad3DFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcad3DFace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcad3DFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcad3DFace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcad3DFace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcad3DFace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcad3DFace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcad3DFace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcad3DFace * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcad3DFace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcad3DFace * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcad3DFace * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcad3DFace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcad3DFace * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcad3DFace * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcad3DFace * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcad3DFace * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcad3DFace * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcad3DFace * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcad3DFace * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcad3DFace * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcad3DFace * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcad3DFace * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcad3DFace * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcad3DFace * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcad3DFace * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcad3DFace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcad3DFace * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcad3DFace * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcad3DFace * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcad3DFace * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcad3DFace * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcad3DFace * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcad3DFace * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcad3DFace * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcad3DFace * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcad3DFace * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcad3DFace * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcad3DFace * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT *corners);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT corners);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisibilityEdge1 )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *visibility);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisibilityEdge1 )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL visibility);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisibilityEdge2 )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *visibility);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisibilityEdge2 )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL visibility);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisibilityEdge3 )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *visibility);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisibilityEdge3 )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL visibility);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisibilityEdge4 )( 
            IAcad3DFace * This,
            /* [retval][out] */ VARIANT_BOOL *visibility);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisibilityEdge4 )( 
            IAcad3DFace * This,
            /* [in] */ VARIANT_BOOL visibility);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetInvisibleEdge )( 
            IAcad3DFace * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetInvisibleEdge )( 
            IAcad3DFace * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT_BOOL State);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcad3DFace * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcad3DFace * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        END_INTERFACE
    } IAcad3DFaceVtbl;

    interface IAcad3DFace
    {
        CONST_VTBL struct IAcad3DFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcad3DFace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcad3DFace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcad3DFace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcad3DFace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcad3DFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcad3DFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcad3DFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcad3DFace_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcad3DFace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcad3DFace_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcad3DFace_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcad3DFace_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcad3DFace_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcad3DFace_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcad3DFace_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcad3DFace_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcad3DFace_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcad3DFace_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcad3DFace_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcad3DFace_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcad3DFace_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcad3DFace_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcad3DFace_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcad3DFace_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcad3DFace_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcad3DFace_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcad3DFace_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcad3DFace_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcad3DFace_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcad3DFace_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcad3DFace_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcad3DFace_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcad3DFace_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcad3DFace_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcad3DFace_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcad3DFace_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcad3DFace_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcad3DFace_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcad3DFace_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcad3DFace_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcad3DFace_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcad3DFace_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcad3DFace_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcad3DFace_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcad3DFace_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcad3DFace_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcad3DFace_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcad3DFace_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcad3DFace_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcad3DFace_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcad3DFace_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcad3DFace_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcad3DFace_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcad3DFace_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcad3DFace_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcad3DFace_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcad3DFace_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcad3DFace_get_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> get_Coordinates(This,corners) ) 

#define IAcad3DFace_put_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> put_Coordinates(This,corners) ) 

#define IAcad3DFace_get_VisibilityEdge1(This,visibility)	\
    ( (This)->lpVtbl -> get_VisibilityEdge1(This,visibility) ) 

#define IAcad3DFace_put_VisibilityEdge1(This,visibility)	\
    ( (This)->lpVtbl -> put_VisibilityEdge1(This,visibility) ) 

#define IAcad3DFace_get_VisibilityEdge2(This,visibility)	\
    ( (This)->lpVtbl -> get_VisibilityEdge2(This,visibility) ) 

#define IAcad3DFace_put_VisibilityEdge2(This,visibility)	\
    ( (This)->lpVtbl -> put_VisibilityEdge2(This,visibility) ) 

#define IAcad3DFace_get_VisibilityEdge3(This,visibility)	\
    ( (This)->lpVtbl -> get_VisibilityEdge3(This,visibility) ) 

#define IAcad3DFace_put_VisibilityEdge3(This,visibility)	\
    ( (This)->lpVtbl -> put_VisibilityEdge3(This,visibility) ) 

#define IAcad3DFace_get_VisibilityEdge4(This,visibility)	\
    ( (This)->lpVtbl -> get_VisibilityEdge4(This,visibility) ) 

#define IAcad3DFace_put_VisibilityEdge4(This,visibility)	\
    ( (This)->lpVtbl -> put_VisibilityEdge4(This,visibility) ) 

#define IAcad3DFace_GetInvisibleEdge(This,Index,bVisible)	\
    ( (This)->lpVtbl -> GetInvisibleEdge(This,Index,bVisible) ) 

#define IAcad3DFace_SetInvisibleEdge(This,Index,State)	\
    ( (This)->lpVtbl -> SetInvisibleEdge(This,Index,State) ) 

#define IAcad3DFace_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcad3DFace_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcad3DFace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_Acad3DFace,0xBF2568DD,0x2638,0x4596,0xA1,0x20,0xF6,0x4B,0x30,0x65,0x9B,0xBA);

#ifdef __cplusplus

class DECLSPEC_UUID("BF2568DD-2638-4596-A120-F64B30659BBA")
Acad3DFace;
#endif

#ifndef __IAcad3DPolyline_INTERFACE_DEFINED__
#define __IAcad3DPolyline_INTERFACE_DEFINED__

/* interface IAcad3DPolyline */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcad3DPolyline,0xE7A0D09B,0xB35C,0x4478,0x9B,0x03,0x18,0x7D,0xAF,0x70,0x24,0x25);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E7A0D09B-B35C-4478-9B03-187DAF702425")
    IAcad3DPolyline : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ VARIANT Vertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ Ac3DPolylineType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ Ac3DPolylineType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL *fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double *length) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcad3DPolylineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcad3DPolyline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcad3DPolyline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcad3DPolyline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcad3DPolyline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcad3DPolyline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcad3DPolyline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcad3DPolyline * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcad3DPolyline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcad3DPolyline * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcad3DPolyline * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcad3DPolyline * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcad3DPolyline * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcad3DPolyline * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcad3DPolyline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcad3DPolyline * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcad3DPolyline * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcad3DPolyline * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcad3DPolyline * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcad3DPolyline * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendVertex )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT Vertex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcad3DPolyline * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcad3DPolyline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ Ac3DPolylineType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IAcad3DPolyline * This,
            /* [in] */ Ac3DPolylineType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *fClose);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Closed )( 
            IAcad3DPolyline * This,
            /* [in] */ VARIANT_BOOL fClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcad3DPolyline * This,
            /* [retval][out] */ double *length);
        
        END_INTERFACE
    } IAcad3DPolylineVtbl;

    interface IAcad3DPolyline
    {
        CONST_VTBL struct IAcad3DPolylineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcad3DPolyline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcad3DPolyline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcad3DPolyline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcad3DPolyline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcad3DPolyline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcad3DPolyline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcad3DPolyline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcad3DPolyline_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcad3DPolyline_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcad3DPolyline_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcad3DPolyline_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcad3DPolyline_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcad3DPolyline_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcad3DPolyline_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcad3DPolyline_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcad3DPolyline_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcad3DPolyline_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcad3DPolyline_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcad3DPolyline_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcad3DPolyline_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcad3DPolyline_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcad3DPolyline_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcad3DPolyline_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcad3DPolyline_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcad3DPolyline_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcad3DPolyline_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcad3DPolyline_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcad3DPolyline_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcad3DPolyline_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcad3DPolyline_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcad3DPolyline_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcad3DPolyline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcad3DPolyline_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcad3DPolyline_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcad3DPolyline_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcad3DPolyline_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcad3DPolyline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcad3DPolyline_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcad3DPolyline_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcad3DPolyline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcad3DPolyline_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcad3DPolyline_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcad3DPolyline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcad3DPolyline_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcad3DPolyline_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcad3DPolyline_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcad3DPolyline_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcad3DPolyline_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcad3DPolyline_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcad3DPolyline_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcad3DPolyline_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcad3DPolyline_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcad3DPolyline_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcad3DPolyline_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcad3DPolyline_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcad3DPolyline_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcad3DPolyline_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcad3DPolyline_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcad3DPolyline_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcad3DPolyline_AppendVertex(This,Vertex)	\
    ( (This)->lpVtbl -> AppendVertex(This,Vertex) ) 

#define IAcad3DPolyline_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcad3DPolyline_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcad3DPolyline_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcad3DPolyline_get_Type(This,type)	\
    ( (This)->lpVtbl -> get_Type(This,type) ) 

#define IAcad3DPolyline_put_Type(This,type)	\
    ( (This)->lpVtbl -> put_Type(This,type) ) 

#define IAcad3DPolyline_get_Closed(This,fClose)	\
    ( (This)->lpVtbl -> get_Closed(This,fClose) ) 

#define IAcad3DPolyline_put_Closed(This,fClose)	\
    ( (This)->lpVtbl -> put_Closed(This,fClose) ) 

#define IAcad3DPolyline_get_Length(This,length)	\
    ( (This)->lpVtbl -> get_Length(This,length) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcad3DPolyline_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_Acad3DPolyline,0x05AFCEDA,0x84A0,0x4190,0x8E,0x42,0x0B,0x0A,0x18,0xF3,0x46,0x54);

#ifdef __cplusplus

class DECLSPEC_UUID("05AFCEDA-84A0-4190-8E42-0B0A18F34654")
Acad3DPolyline;
#endif

#ifndef __IAcadRegion_INTERFACE_DEFINED__
#define __IAcadRegion_INTERFACE_DEFINED__

/* interface IAcadRegion */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRegion,0x4FCA99A7,0xE7F3,0x41EE,0xAD,0x69,0x73,0x4E,0x64,0x3E,0xFE,0xDF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4FCA99A7-E7F3-41EE-AD69-734E643EFEDF")
    IAcadRegion : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Centroid( 
            /* [retval][out] */ VARIANT *centroid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_MomentOfInertia( 
            /* [retval][out] */ VARIANT *momentInertia) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Perimeter( 
            /* [retval][out] */ double *perimeter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrincipalDirections( 
            /* [retval][out] */ VARIANT *prinDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrincipalMoments( 
            /* [retval][out] */ VARIANT *prinMoments) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProductOfInertia( 
            /* [retval][out] */ double *prodInertia) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_RadiiOfGyration( 
            /* [retval][out] */ VARIANT *radiiGyration) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Boolean( 
            /* [in] */ AcBooleanType Operation,
            /* [in] */ IAcadRegion *Object) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRegionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRegion * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRegion * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRegion * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRegion * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRegion * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRegion * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRegion * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRegion * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRegion * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRegion * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRegion * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRegion * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRegion * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRegion * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRegion * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRegion * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRegion * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadRegion * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadRegion * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadRegion * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadRegion * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadRegion * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadRegion * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadRegion * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadRegion * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadRegion * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadRegion * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadRegion * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadRegion * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadRegion * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadRegion * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadRegion * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadRegion * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadRegion * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadRegion * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadRegion * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadRegion * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadRegion * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadRegion * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadRegion * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadRegion * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadRegion * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadRegion * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadRegion * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadRegion * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadRegion * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadRegion * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadRegion * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadRegion * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Centroid )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *centroid);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MomentOfInertia )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *momentInertia);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Perimeter )( 
            IAcadRegion * This,
            /* [retval][out] */ double *perimeter);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrincipalDirections )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *prinDir);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrincipalMoments )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *prinMoments);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductOfInertia )( 
            IAcadRegion * This,
            /* [retval][out] */ double *prodInertia);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RadiiOfGyration )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *radiiGyration);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Boolean )( 
            IAcadRegion * This,
            /* [in] */ AcBooleanType Operation,
            /* [in] */ IAcadRegion *Object);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadRegion * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        END_INTERFACE
    } IAcadRegionVtbl;

    interface IAcadRegion
    {
        CONST_VTBL struct IAcadRegionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRegion_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRegion_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRegion_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRegion_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRegion_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRegion_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRegion_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRegion_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRegion_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRegion_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRegion_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRegion_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRegion_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRegion_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRegion_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRegion_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRegion_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRegion_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRegion_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRegion_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRegion_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadRegion_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadRegion_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadRegion_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadRegion_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadRegion_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadRegion_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadRegion_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadRegion_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadRegion_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadRegion_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadRegion_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadRegion_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadRegion_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadRegion_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadRegion_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadRegion_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadRegion_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadRegion_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadRegion_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadRegion_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadRegion_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadRegion_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadRegion_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadRegion_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadRegion_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadRegion_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadRegion_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadRegion_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadRegion_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadRegion_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadRegion_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadRegion_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadRegion_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadRegion_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadRegion_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadRegion_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadRegion_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadRegion_get_Centroid(This,centroid)	\
    ( (This)->lpVtbl -> get_Centroid(This,centroid) ) 

#define IAcadRegion_get_MomentOfInertia(This,momentInertia)	\
    ( (This)->lpVtbl -> get_MomentOfInertia(This,momentInertia) ) 

#define IAcadRegion_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadRegion_get_Perimeter(This,perimeter)	\
    ( (This)->lpVtbl -> get_Perimeter(This,perimeter) ) 

#define IAcadRegion_get_PrincipalDirections(This,prinDir)	\
    ( (This)->lpVtbl -> get_PrincipalDirections(This,prinDir) ) 

#define IAcadRegion_get_PrincipalMoments(This,prinMoments)	\
    ( (This)->lpVtbl -> get_PrincipalMoments(This,prinMoments) ) 

#define IAcadRegion_get_ProductOfInertia(This,prodInertia)	\
    ( (This)->lpVtbl -> get_ProductOfInertia(This,prodInertia) ) 

#define IAcadRegion_get_RadiiOfGyration(This,radiiGyration)	\
    ( (This)->lpVtbl -> get_RadiiOfGyration(This,radiiGyration) ) 

#define IAcadRegion_Boolean(This,Operation,Object)	\
    ( (This)->lpVtbl -> Boolean(This,Operation,Object) ) 

#define IAcadRegion_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRegion_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRegion,0x9844C4FC,0xA4C9,0x41EA,0x83,0x18,0xA1,0x55,0x5A,0x30,0x83,0x19);

#ifdef __cplusplus

class DECLSPEC_UUID("9844C4FC-A4C9-41EA-8318-A1555A308319")
AcadRegion;
#endif

#ifndef __IAcad3DSolid_INTERFACE_DEFINED__
#define __IAcad3DSolid_INTERFACE_DEFINED__

/* interface IAcad3DSolid */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcad3DSolid,0x0908EAA4,0x05CD,0x4E83,0xA8,0xB2,0x3A,0xF7,0x77,0x58,0xFC,0x0B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0908EAA4-05CD-4E83-A8B2-3AF77758FC0B")
    IAcad3DSolid : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Centroid( 
            /* [retval][out] */ VARIANT *centroid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_MomentOfInertia( 
            /* [retval][out] */ VARIANT *momentInertia) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrincipalDirections( 
            /* [retval][out] */ VARIANT *prinDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrincipalMoments( 
            /* [retval][out] */ VARIANT *prinMoments) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProductOfInertia( 
            /* [retval][out] */ VARIANT *prodInertia) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_RadiiOfGyration( 
            /* [retval][out] */ VARIANT *radiiGyration) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Volume( 
            /* [retval][out] */ double *Volume) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Boolean( 
            /* [in] */ AcBooleanType Operation,
            /* [in] */ IAcad3DSolid *SolidObject) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CheckInterference( 
            /* [in] */ IAcad3DSolid *Object,
            /* [in] */ VARIANT_BOOL CreateInterferenceSolid,
            /* [out] */ VARIANT_BOOL *SolidsInterfere,
            /* [retval][out] */ IAcad3DSolid **pIntSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SectionSolid( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [retval][out] */ IAcadRegion **pRegion) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SliceSolid( 
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT_BOOL Negative,
            /* [retval][out] */ IAcad3DSolid **pNegSideSolid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SolidType( 
            /* [retval][out] */ BSTR *solidType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ VARIANT *position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ VARIANT position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_History( 
            /* [retval][out] */ VARIANT_BOOL *bHistory) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_History( 
            /* [in] */ VARIANT_BOOL bHasHistory) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowHistory( 
            /* [retval][out] */ VARIANT_BOOL *position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowHistory( 
            /* [in] */ VARIANT_BOOL position) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcad3DSolidVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcad3DSolid * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcad3DSolid * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcad3DSolid * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcad3DSolid * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcad3DSolid * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcad3DSolid * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcad3DSolid * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcad3DSolid * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcad3DSolid * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcad3DSolid * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcad3DSolid * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcad3DSolid * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcad3DSolid * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcad3DSolid * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcad3DSolid * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcad3DSolid * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcad3DSolid * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcad3DSolid * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcad3DSolid * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcad3DSolid * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcad3DSolid * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcad3DSolid * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcad3DSolid * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcad3DSolid * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcad3DSolid * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcad3DSolid * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcad3DSolid * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcad3DSolid * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcad3DSolid * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcad3DSolid * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcad3DSolid * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcad3DSolid * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Centroid )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *centroid);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MomentOfInertia )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *momentInertia);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrincipalDirections )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *prinDir);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrincipalMoments )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *prinMoments);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProductOfInertia )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *prodInertia);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RadiiOfGyration )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *radiiGyration);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Volume )( 
            IAcad3DSolid * This,
            /* [retval][out] */ double *Volume);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Boolean )( 
            IAcad3DSolid * This,
            /* [in] */ AcBooleanType Operation,
            /* [in] */ IAcad3DSolid *SolidObject);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CheckInterference )( 
            IAcad3DSolid * This,
            /* [in] */ IAcad3DSolid *Object,
            /* [in] */ VARIANT_BOOL CreateInterferenceSolid,
            /* [out] */ VARIANT_BOOL *SolidsInterfere,
            /* [retval][out] */ IAcad3DSolid **pIntSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SectionSolid )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [retval][out] */ IAcadRegion **pRegion);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SliceSolid )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT_BOOL Negative,
            /* [retval][out] */ IAcad3DSolid **pNegSideSolid);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SolidType )( 
            IAcad3DSolid * This,
            /* [retval][out] */ BSTR *solidType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT *position);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT position);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_History )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT_BOOL *bHistory);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_History )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT_BOOL bHasHistory);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowHistory )( 
            IAcad3DSolid * This,
            /* [retval][out] */ VARIANT_BOOL *position);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowHistory )( 
            IAcad3DSolid * This,
            /* [in] */ VARIANT_BOOL position);
        
        END_INTERFACE
    } IAcad3DSolidVtbl;

    interface IAcad3DSolid
    {
        CONST_VTBL struct IAcad3DSolidVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcad3DSolid_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcad3DSolid_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcad3DSolid_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcad3DSolid_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcad3DSolid_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcad3DSolid_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcad3DSolid_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcad3DSolid_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcad3DSolid_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcad3DSolid_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcad3DSolid_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcad3DSolid_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcad3DSolid_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcad3DSolid_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcad3DSolid_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcad3DSolid_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcad3DSolid_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcad3DSolid_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcad3DSolid_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcad3DSolid_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcad3DSolid_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcad3DSolid_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcad3DSolid_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcad3DSolid_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcad3DSolid_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcad3DSolid_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcad3DSolid_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcad3DSolid_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcad3DSolid_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcad3DSolid_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcad3DSolid_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcad3DSolid_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcad3DSolid_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcad3DSolid_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcad3DSolid_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcad3DSolid_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcad3DSolid_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcad3DSolid_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcad3DSolid_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcad3DSolid_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcad3DSolid_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcad3DSolid_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcad3DSolid_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcad3DSolid_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcad3DSolid_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcad3DSolid_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcad3DSolid_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcad3DSolid_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcad3DSolid_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcad3DSolid_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcad3DSolid_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcad3DSolid_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcad3DSolid_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcad3DSolid_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcad3DSolid_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcad3DSolid_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcad3DSolid_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcad3DSolid_get_Centroid(This,centroid)	\
    ( (This)->lpVtbl -> get_Centroid(This,centroid) ) 

#define IAcad3DSolid_get_MomentOfInertia(This,momentInertia)	\
    ( (This)->lpVtbl -> get_MomentOfInertia(This,momentInertia) ) 

#define IAcad3DSolid_get_PrincipalDirections(This,prinDir)	\
    ( (This)->lpVtbl -> get_PrincipalDirections(This,prinDir) ) 

#define IAcad3DSolid_get_PrincipalMoments(This,prinMoments)	\
    ( (This)->lpVtbl -> get_PrincipalMoments(This,prinMoments) ) 

#define IAcad3DSolid_get_ProductOfInertia(This,prodInertia)	\
    ( (This)->lpVtbl -> get_ProductOfInertia(This,prodInertia) ) 

#define IAcad3DSolid_get_RadiiOfGyration(This,radiiGyration)	\
    ( (This)->lpVtbl -> get_RadiiOfGyration(This,radiiGyration) ) 

#define IAcad3DSolid_get_Volume(This,Volume)	\
    ( (This)->lpVtbl -> get_Volume(This,Volume) ) 

#define IAcad3DSolid_Boolean(This,Operation,SolidObject)	\
    ( (This)->lpVtbl -> Boolean(This,Operation,SolidObject) ) 

#define IAcad3DSolid_CheckInterference(This,Object,CreateInterferenceSolid,SolidsInterfere,pIntSolid)	\
    ( (This)->lpVtbl -> CheckInterference(This,Object,CreateInterferenceSolid,SolidsInterfere,pIntSolid) ) 

#define IAcad3DSolid_SectionSolid(This,Point1,Point2,Point3,pRegion)	\
    ( (This)->lpVtbl -> SectionSolid(This,Point1,Point2,Point3,pRegion) ) 

#define IAcad3DSolid_SliceSolid(This,Point1,Point2,Point3,Negative,pNegSideSolid)	\
    ( (This)->lpVtbl -> SliceSolid(This,Point1,Point2,Point3,Negative,pNegSideSolid) ) 

#define IAcad3DSolid_get_SolidType(This,solidType)	\
    ( (This)->lpVtbl -> get_SolidType(This,solidType) ) 

#define IAcad3DSolid_get_Position(This,position)	\
    ( (This)->lpVtbl -> get_Position(This,position) ) 

#define IAcad3DSolid_put_Position(This,position)	\
    ( (This)->lpVtbl -> put_Position(This,position) ) 

#define IAcad3DSolid_get_History(This,bHistory)	\
    ( (This)->lpVtbl -> get_History(This,bHistory) ) 

#define IAcad3DSolid_put_History(This,bHasHistory)	\
    ( (This)->lpVtbl -> put_History(This,bHasHistory) ) 

#define IAcad3DSolid_get_ShowHistory(This,position)	\
    ( (This)->lpVtbl -> get_ShowHistory(This,position) ) 

#define IAcad3DSolid_put_ShowHistory(This,position)	\
    ( (This)->lpVtbl -> put_ShowHistory(This,position) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcad3DSolid_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_Acad3DSolid,0xC7023C52,0x4730,0x45A0,0x85,0x84,0xDE,0x5B,0x6C,0xA8,0xBA,0xBB);

#ifdef __cplusplus

class DECLSPEC_UUID("C7023C52-4730-45A0-8584-DE5B6CA8BABB")
Acad3DSolid;
#endif

#ifndef __IAcadArc_INTERFACE_DEFINED__
#define __IAcadArc_INTERFACE_DEFINED__

/* interface IAcadArc */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadArc,0xECF5C9AA,0x687E,0x4856,0xBA,0x58,0x30,0xF0,0xDC,0xC5,0x33,0xF1);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ECF5C9AA-687E-4856-BA58-30F0DCC533F1")
    IAcadArc : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ VARIANT *startPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ VARIANT *endPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ double *Radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ double Radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartAngle( 
            /* [retval][out] */ ACAD_ANGLE *Angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartAngle( 
            /* [in] */ ACAD_ANGLE Angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndAngle( 
            /* [retval][out] */ ACAD_ANGLE *Angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndAngle( 
            /* [in] */ ACAD_ANGLE Angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TotalAngle( 
            /* [retval][out] */ ACAD_ANGLE *totalAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcLength( 
            /* [retval][out] */ ACAD_DISTANCE *arcLength) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadArcVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadArc * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadArc * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadArc * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadArc * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadArc * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadArc * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadArc * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadArc * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadArc * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadArc * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadArc * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadArc * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadArc * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadArc * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadArc * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadArc * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadArc * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadArc * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadArc * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadArc * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadArc * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadArc * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadArc * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadArc * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadArc * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadArc * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadArc * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadArc * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadArc * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadArc * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadArc * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadArc * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadArc * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadArc * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadArc * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadArc * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadArc * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadArc * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadArc * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadArc * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadArc * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadArc * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadArc * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadArc * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadArc * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartPoint )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT *startPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT *centerPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadArc * This,
            /* [in] */ VARIANT centerPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndPoint )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Radius )( 
            IAcadArc * This,
            /* [retval][out] */ double *Radius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Radius )( 
            IAcadArc * This,
            /* [in] */ double Radius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartAngle )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_ANGLE *Angle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartAngle )( 
            IAcadArc * This,
            /* [in] */ ACAD_ANGLE Angle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndAngle )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_ANGLE *Angle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndAngle )( 
            IAcadArc * This,
            /* [in] */ ACAD_ANGLE Angle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalAngle )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_ANGLE *totalAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcLength )( 
            IAcadArc * This,
            /* [retval][out] */ ACAD_DISTANCE *arcLength);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadArc * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadArc * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadArc * This,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadArc * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadArc * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadArc * This,
            /* [in] */ VARIANT normal);
        
        END_INTERFACE
    } IAcadArcVtbl;

    interface IAcadArc
    {
        CONST_VTBL struct IAcadArcVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadArc_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadArc_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadArc_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadArc_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadArc_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadArc_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadArc_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadArc_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadArc_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadArc_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadArc_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadArc_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadArc_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadArc_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadArc_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadArc_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadArc_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadArc_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadArc_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadArc_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadArc_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadArc_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadArc_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadArc_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadArc_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadArc_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadArc_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadArc_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadArc_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadArc_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadArc_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadArc_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadArc_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadArc_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadArc_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadArc_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadArc_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadArc_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadArc_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadArc_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadArc_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadArc_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadArc_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadArc_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadArc_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadArc_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadArc_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadArc_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadArc_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadArc_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadArc_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadArc_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadArc_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadArc_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadArc_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadArc_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadArc_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadArc_get_StartPoint(This,startPoint)	\
    ( (This)->lpVtbl -> get_StartPoint(This,startPoint) ) 

#define IAcadArc_get_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> get_Center(This,centerPoint) ) 

#define IAcadArc_put_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> put_Center(This,centerPoint) ) 

#define IAcadArc_get_EndPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_EndPoint(This,endPoint) ) 

#define IAcadArc_get_Radius(This,Radius)	\
    ( (This)->lpVtbl -> get_Radius(This,Radius) ) 

#define IAcadArc_put_Radius(This,Radius)	\
    ( (This)->lpVtbl -> put_Radius(This,Radius) ) 

#define IAcadArc_get_StartAngle(This,Angle)	\
    ( (This)->lpVtbl -> get_StartAngle(This,Angle) ) 

#define IAcadArc_put_StartAngle(This,Angle)	\
    ( (This)->lpVtbl -> put_StartAngle(This,Angle) ) 

#define IAcadArc_get_EndAngle(This,Angle)	\
    ( (This)->lpVtbl -> get_EndAngle(This,Angle) ) 

#define IAcadArc_put_EndAngle(This,Angle)	\
    ( (This)->lpVtbl -> put_EndAngle(This,Angle) ) 

#define IAcadArc_get_TotalAngle(This,totalAngle)	\
    ( (This)->lpVtbl -> get_TotalAngle(This,totalAngle) ) 

#define IAcadArc_get_ArcLength(This,arcLength)	\
    ( (This)->lpVtbl -> get_ArcLength(This,arcLength) ) 

#define IAcadArc_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadArc_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadArc_Offset(This,Distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,Distance,pOffsetCurves) ) 

#define IAcadArc_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadArc_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadArc_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadArc_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadArc,0x350624A7,0x2316,0x41D7,0xA0,0x9A,0xA2,0xEF,0xCC,0xCF,0x51,0xAA);

#ifdef __cplusplus

class DECLSPEC_UUID("350624A7-2316-41D7-A09A-A2EFCCCF51AA")
AcadArc;
#endif

#ifndef __IAcadAttribute_INTERFACE_DEFINED__
#define __IAcadAttribute_INTERFACE_DEFINED__

/* interface IAcadAttribute */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadAttribute,0x80D6A783,0x1BEE,0x4FF3,0x91,0xAD,0xEB,0x1B,0x05,0xBB,0x2A,0x26);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("80D6A783-1BEE-4FF3-91AD-EB1B05BB2A26")
    IAcadAttribute : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_FieldLength( 
            /* [retval][out] */ long *fieldLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_FieldLength( 
            /* [in] */ long fieldLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *Tag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR Tag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PromptString( 
            /* [retval][out] */ BSTR *bstrPrompt) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PromptString( 
            /* [in] */ BSTR bstrPrompt) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ AcAlignment *align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ AcAlignment align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ AcHorizontalAlignment *horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ AcHorizontalAlignment horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ AcVerticalAlignment *vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ AcVerticalAlignment vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ ACAD_ANGLE *obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ ACAD_ANGLE obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ VARIANT *alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ VARIANT alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ long *textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ long textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Mode( 
            /* [retval][out] */ long *mode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Mode( 
            /* [in] */ long mode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UpsideDown( 
            /* [retval][out] */ VARIANT_BOOL *bUpsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UpsideDown( 
            /* [in] */ VARIANT_BOOL bUpsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Backward( 
            /* [retval][out] */ VARIANT_BOOL *bBackward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Backward( 
            /* [in] */ VARIANT_BOOL bBackward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Invisible( 
            /* [retval][out] */ VARIANT_BOOL *bInvisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Invisible( 
            /* [in] */ VARIANT_BOOL bInvisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Constant( 
            /* [retval][out] */ VARIANT_BOOL *bConstant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Constant( 
            /* [in] */ VARIANT_BOOL bConstant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Verify( 
            /* [retval][out] */ VARIANT_BOOL *bVerify) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Verify( 
            /* [in] */ VARIANT_BOOL bVerify) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Preset( 
            /* [retval][out] */ VARIANT_BOOL *bPreset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Preset( 
            /* [in] */ VARIANT_BOOL bPreset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LockPosition( 
            /* [retval][out] */ VARIANT_BOOL *bLockPosition) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LockPosition( 
            /* [in] */ VARIANT_BOOL bLockPosition) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextAttribute( 
            /* [retval][out] */ VARIANT_BOOL *bMTextAttribute) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextAttribute( 
            /* [in] */ VARIANT_BOOL bMTextAttribute) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextAttributeContent( 
            /* [retval][out] */ BSTR *content) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextAttributeContent( 
            /* [in] */ BSTR content) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UpdateMTextAttribute( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextBoundaryWidth( 
            /* [retval][out] */ double *boundaryWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextBoundaryWidth( 
            double boundaryWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextDrawingDirection( 
            /* [retval][out] */ AcDrawingDirection *drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextDrawingDirection( 
            /* [in] */ AcDrawingDirection drawDir) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadAttributeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadAttribute * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadAttribute * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadAttribute * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadAttribute * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadAttribute * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadAttribute * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadAttribute * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadAttribute * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadAttribute * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadAttribute * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadAttribute * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadAttribute * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadAttribute * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadAttribute * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadAttribute * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadAttribute * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadAttribute * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadAttribute * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadAttribute * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadAttribute * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadAttribute * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadAttribute * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadAttribute * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadAttribute * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadAttribute * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadAttribute * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadAttribute * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadAttribute * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadAttribute * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadAttribute * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadAttribute * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FieldLength )( 
            IAcadAttribute * This,
            /* [retval][out] */ long *fieldLen);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FieldLength )( 
            IAcadAttribute * This,
            /* [in] */ long fieldLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Tag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TagString )( 
            IAcadAttribute * This,
            /* [in] */ BSTR Tag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PromptString )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *bstrPrompt);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PromptString )( 
            IAcadAttribute * This,
            /* [in] */ BSTR bstrPrompt);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadAttribute * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadAttribute * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            IAcadAttribute * This,
            /* [retval][out] */ AcAlignment *align);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            IAcadAttribute * This,
            /* [in] */ AcAlignment align);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IAcadAttribute * This,
            /* [retval][out] */ AcHorizontalAlignment *horizAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IAcadAttribute * This,
            /* [in] */ AcHorizontalAlignment horizAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IAcadAttribute * This,
            /* [retval][out] */ AcVerticalAlignment *vertiAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IAcadAttribute * This,
            /* [in] */ AcVerticalAlignment vertiAlign);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadAttribute * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadAttribute * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_NOUNITS *scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_NOUNITS scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObliqueAngle )( 
            IAcadAttribute * This,
            /* [retval][out] */ ACAD_ANGLE *obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObliqueAngle )( 
            IAcadAttribute * This,
            /* [in] */ ACAD_ANGLE obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAlignmentPoint )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT *alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAlignmentPoint )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGenerationFlag )( 
            IAcadAttribute * This,
            /* [retval][out] */ long *textGenFlag);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGenerationFlag )( 
            IAcadAttribute * This,
            /* [in] */ long textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadAttribute * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadAttribute * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mode )( 
            IAcadAttribute * This,
            /* [retval][out] */ long *mode);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mode )( 
            IAcadAttribute * This,
            /* [in] */ long mode);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpsideDown )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bUpsideDown);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpsideDown )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bUpsideDown);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Backward )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bBackward);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Backward )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bBackward);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Invisible )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bInvisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Invisible )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bInvisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constant )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bConstant);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Constant )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bConstant);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Verify )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bVerify);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Verify )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bVerify);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Preset )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bPreset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Preset )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bPreset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LockPosition )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bLockPosition);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LockPosition )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bLockPosition);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextAttribute )( 
            IAcadAttribute * This,
            /* [retval][out] */ VARIANT_BOOL *bMTextAttribute);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextAttribute )( 
            IAcadAttribute * This,
            /* [in] */ VARIANT_BOOL bMTextAttribute);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextAttributeContent )( 
            IAcadAttribute * This,
            /* [retval][out] */ BSTR *content);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextAttributeContent )( 
            IAcadAttribute * This,
            /* [in] */ BSTR content);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateMTextAttribute )( 
            IAcadAttribute * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextBoundaryWidth )( 
            IAcadAttribute * This,
            /* [retval][out] */ double *boundaryWidth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextBoundaryWidth )( 
            IAcadAttribute * This,
            double boundaryWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextDrawingDirection )( 
            IAcadAttribute * This,
            /* [retval][out] */ AcDrawingDirection *drawDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextDrawingDirection )( 
            IAcadAttribute * This,
            /* [in] */ AcDrawingDirection drawDir);
        
        END_INTERFACE
    } IAcadAttributeVtbl;

    interface IAcadAttribute
    {
        CONST_VTBL struct IAcadAttributeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadAttribute_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadAttribute_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadAttribute_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadAttribute_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadAttribute_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadAttribute_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadAttribute_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadAttribute_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadAttribute_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadAttribute_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadAttribute_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadAttribute_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadAttribute_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadAttribute_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadAttribute_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadAttribute_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadAttribute_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadAttribute_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadAttribute_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadAttribute_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadAttribute_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadAttribute_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadAttribute_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadAttribute_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadAttribute_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadAttribute_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadAttribute_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadAttribute_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadAttribute_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadAttribute_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadAttribute_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadAttribute_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadAttribute_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadAttribute_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadAttribute_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadAttribute_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadAttribute_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadAttribute_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadAttribute_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadAttribute_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadAttribute_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadAttribute_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadAttribute_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadAttribute_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadAttribute_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadAttribute_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadAttribute_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadAttribute_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadAttribute_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadAttribute_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadAttribute_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadAttribute_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadAttribute_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadAttribute_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadAttribute_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadAttribute_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadAttribute_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadAttribute_get_FieldLength(This,fieldLen)	\
    ( (This)->lpVtbl -> get_FieldLength(This,fieldLen) ) 

#define IAcadAttribute_put_FieldLength(This,fieldLen)	\
    ( (This)->lpVtbl -> put_FieldLength(This,fieldLen) ) 

#define IAcadAttribute_get_TagString(This,Tag)	\
    ( (This)->lpVtbl -> get_TagString(This,Tag) ) 

#define IAcadAttribute_put_TagString(This,Tag)	\
    ( (This)->lpVtbl -> put_TagString(This,Tag) ) 

#define IAcadAttribute_get_PromptString(This,bstrPrompt)	\
    ( (This)->lpVtbl -> get_PromptString(This,bstrPrompt) ) 

#define IAcadAttribute_put_PromptString(This,bstrPrompt)	\
    ( (This)->lpVtbl -> put_PromptString(This,bstrPrompt) ) 

#define IAcadAttribute_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadAttribute_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadAttribute_get_StyleName(This,Name)	\
    ( (This)->lpVtbl -> get_StyleName(This,Name) ) 

#define IAcadAttribute_put_StyleName(This,Name)	\
    ( (This)->lpVtbl -> put_StyleName(This,Name) ) 

#define IAcadAttribute_get_Alignment(This,align)	\
    ( (This)->lpVtbl -> get_Alignment(This,align) ) 

#define IAcadAttribute_put_Alignment(This,align)	\
    ( (This)->lpVtbl -> put_Alignment(This,align) ) 

#define IAcadAttribute_get_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,horizAlign) ) 

#define IAcadAttribute_put_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,horizAlign) ) 

#define IAcadAttribute_get_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,vertiAlign) ) 

#define IAcadAttribute_put_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,vertiAlign) ) 

#define IAcadAttribute_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadAttribute_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadAttribute_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadAttribute_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadAttribute_get_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scalFactor) ) 

#define IAcadAttribute_put_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scalFactor) ) 

#define IAcadAttribute_get_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> get_ObliqueAngle(This,obliAngle) ) 

#define IAcadAttribute_put_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> put_ObliqueAngle(This,obliAngle) ) 

#define IAcadAttribute_get_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> get_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadAttribute_put_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> put_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadAttribute_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadAttribute_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadAttribute_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadAttribute_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadAttribute_get_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> get_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadAttribute_put_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> put_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadAttribute_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadAttribute_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadAttribute_get_Mode(This,mode)	\
    ( (This)->lpVtbl -> get_Mode(This,mode) ) 

#define IAcadAttribute_put_Mode(This,mode)	\
    ( (This)->lpVtbl -> put_Mode(This,mode) ) 

#define IAcadAttribute_get_UpsideDown(This,bUpsideDown)	\
    ( (This)->lpVtbl -> get_UpsideDown(This,bUpsideDown) ) 

#define IAcadAttribute_put_UpsideDown(This,bUpsideDown)	\
    ( (This)->lpVtbl -> put_UpsideDown(This,bUpsideDown) ) 

#define IAcadAttribute_get_Backward(This,bBackward)	\
    ( (This)->lpVtbl -> get_Backward(This,bBackward) ) 

#define IAcadAttribute_put_Backward(This,bBackward)	\
    ( (This)->lpVtbl -> put_Backward(This,bBackward) ) 

#define IAcadAttribute_get_Invisible(This,bInvisible)	\
    ( (This)->lpVtbl -> get_Invisible(This,bInvisible) ) 

#define IAcadAttribute_put_Invisible(This,bInvisible)	\
    ( (This)->lpVtbl -> put_Invisible(This,bInvisible) ) 

#define IAcadAttribute_get_Constant(This,bConstant)	\
    ( (This)->lpVtbl -> get_Constant(This,bConstant) ) 

#define IAcadAttribute_put_Constant(This,bConstant)	\
    ( (This)->lpVtbl -> put_Constant(This,bConstant) ) 

#define IAcadAttribute_get_Verify(This,bVerify)	\
    ( (This)->lpVtbl -> get_Verify(This,bVerify) ) 

#define IAcadAttribute_put_Verify(This,bVerify)	\
    ( (This)->lpVtbl -> put_Verify(This,bVerify) ) 

#define IAcadAttribute_get_Preset(This,bPreset)	\
    ( (This)->lpVtbl -> get_Preset(This,bPreset) ) 

#define IAcadAttribute_put_Preset(This,bPreset)	\
    ( (This)->lpVtbl -> put_Preset(This,bPreset) ) 

#define IAcadAttribute_get_LockPosition(This,bLockPosition)	\
    ( (This)->lpVtbl -> get_LockPosition(This,bLockPosition) ) 

#define IAcadAttribute_put_LockPosition(This,bLockPosition)	\
    ( (This)->lpVtbl -> put_LockPosition(This,bLockPosition) ) 

#define IAcadAttribute_get_MTextAttribute(This,bMTextAttribute)	\
    ( (This)->lpVtbl -> get_MTextAttribute(This,bMTextAttribute) ) 

#define IAcadAttribute_put_MTextAttribute(This,bMTextAttribute)	\
    ( (This)->lpVtbl -> put_MTextAttribute(This,bMTextAttribute) ) 

#define IAcadAttribute_get_MTextAttributeContent(This,content)	\
    ( (This)->lpVtbl -> get_MTextAttributeContent(This,content) ) 

#define IAcadAttribute_put_MTextAttributeContent(This,content)	\
    ( (This)->lpVtbl -> put_MTextAttributeContent(This,content) ) 

#define IAcadAttribute_UpdateMTextAttribute(This)	\
    ( (This)->lpVtbl -> UpdateMTextAttribute(This) ) 

#define IAcadAttribute_get_MTextBoundaryWidth(This,boundaryWidth)	\
    ( (This)->lpVtbl -> get_MTextBoundaryWidth(This,boundaryWidth) ) 

#define IAcadAttribute_put_MTextBoundaryWidth(This,boundaryWidth)	\
    ( (This)->lpVtbl -> put_MTextBoundaryWidth(This,boundaryWidth) ) 

#define IAcadAttribute_get_MTextDrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> get_MTextDrawingDirection(This,drawDir) ) 

#define IAcadAttribute_put_MTextDrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> put_MTextDrawingDirection(This,drawDir) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadAttribute_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadAttribute,0x9CCE028E,0xAA85,0x46EA,0x8F,0xAA,0x64,0x65,0x80,0xBD,0xF1,0xCF);

#ifdef __cplusplus

class DECLSPEC_UUID("9CCE028E-AA85-46EA-8FAA-646580BDF1CF")
AcadAttribute;
#endif

#ifndef __IAcadAttributeReference_INTERFACE_DEFINED__
#define __IAcadAttributeReference_INTERFACE_DEFINED__

/* interface IAcadAttributeReference */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadAttributeReference,0xE07A5887,0x65D0,0x473E,0xA2,0x3B,0x2F,0xF0,0xCC,0x41,0x50,0x85);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E07A5887-65D0-473E-A23B-2FF0CC415085")
    IAcadAttributeReference : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ AcHorizontalAlignment *horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ AcHorizontalAlignment horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ ACAD_ANGLE *obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ ACAD_ANGLE obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ VARIANT *alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ VARIANT alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ long *textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ long textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ AcVerticalAlignment *vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ AcVerticalAlignment vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FieldLength( 
            /* [retval][out] */ long *fieldLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FieldLength( 
            /* [in] */ long fieldLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ AcAlignment *align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ AcAlignment align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UpsideDown( 
            /* [retval][out] */ VARIANT_BOOL *bUpsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UpsideDown( 
            /* [in] */ VARIANT_BOOL bUpsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Backward( 
            /* [retval][out] */ VARIANT_BOOL *bBackward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Backward( 
            /* [in] */ VARIANT_BOOL bBackward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Invisible( 
            /* [retval][out] */ VARIANT_BOOL *bInvisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Invisible( 
            /* [in] */ VARIANT_BOOL bInvisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Constant( 
            /* [retval][out] */ VARIANT_BOOL *bConstant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LockPosition( 
            /* [retval][out] */ VARIANT_BOOL *bLockPosition) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextAttribute( 
            /* [retval][out] */ VARIANT_BOOL *bMTextAttribute) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextAttribute( 
            /* [in] */ VARIANT_BOOL bMTextAttribute) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextAttributeContent( 
            /* [retval][out] */ BSTR *content) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextAttributeContent( 
            /* [in] */ BSTR content) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UpdateMTextAttribute( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextBoundaryWidth( 
            /* [retval][out] */ double *boundaryWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextBoundaryWidth( 
            double boundaryWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MTextDrawingDirection( 
            /* [retval][out] */ AcDrawingDirection *drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MTextDrawingDirection( 
            /* [in] */ AcDrawingDirection drawDir) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadAttributeReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadAttributeReference * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadAttributeReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadAttributeReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadAttributeReference * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadAttributeReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadAttributeReference * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadAttributeReference * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadAttributeReference * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadAttributeReference * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadAttributeReference * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadAttributeReference * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadAttributeReference * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadAttributeReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadAttributeReference * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadAttributeReference * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadAttributeReference * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ AcHorizontalAlignment *horizAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IAcadAttributeReference * This,
            /* [in] */ AcHorizontalAlignment horizAlign);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObliqueAngle )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_ANGLE *obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObliqueAngle )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_ANGLE obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadAttributeReference * This,
            /* [in] */ ACAD_NOUNITS scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *bstrTag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TagString )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR bstrTag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAlignmentPoint )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT *alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAlignmentPoint )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGenerationFlag )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ long *textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGenerationFlag )( 
            IAcadAttributeReference * This,
            /* [in] */ long textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadAttributeReference * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ AcVerticalAlignment *vertiAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IAcadAttributeReference * This,
            /* [in] */ AcVerticalAlignment vertiAlign);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FieldLength )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ long *fieldLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FieldLength )( 
            IAcadAttributeReference * This,
            /* [in] */ long fieldLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ AcAlignment *align);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            IAcadAttributeReference * This,
            /* [in] */ AcAlignment align);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpsideDown )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bUpsideDown);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpsideDown )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL bUpsideDown);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Backward )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bBackward);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Backward )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL bBackward);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Invisible )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bInvisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Invisible )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL bInvisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constant )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bConstant);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LockPosition )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bLockPosition);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextAttribute )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ VARIANT_BOOL *bMTextAttribute);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextAttribute )( 
            IAcadAttributeReference * This,
            /* [in] */ VARIANT_BOOL bMTextAttribute);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextAttributeContent )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ BSTR *content);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextAttributeContent )( 
            IAcadAttributeReference * This,
            /* [in] */ BSTR content);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateMTextAttribute )( 
            IAcadAttributeReference * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextBoundaryWidth )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ double *boundaryWidth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextBoundaryWidth )( 
            IAcadAttributeReference * This,
            double boundaryWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MTextDrawingDirection )( 
            IAcadAttributeReference * This,
            /* [retval][out] */ AcDrawingDirection *drawDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MTextDrawingDirection )( 
            IAcadAttributeReference * This,
            /* [in] */ AcDrawingDirection drawDir);
        
        END_INTERFACE
    } IAcadAttributeReferenceVtbl;

    interface IAcadAttributeReference
    {
        CONST_VTBL struct IAcadAttributeReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadAttributeReference_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadAttributeReference_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadAttributeReference_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadAttributeReference_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadAttributeReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadAttributeReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadAttributeReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadAttributeReference_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadAttributeReference_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadAttributeReference_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadAttributeReference_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadAttributeReference_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadAttributeReference_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadAttributeReference_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadAttributeReference_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadAttributeReference_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadAttributeReference_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadAttributeReference_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadAttributeReference_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadAttributeReference_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadAttributeReference_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadAttributeReference_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadAttributeReference_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadAttributeReference_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadAttributeReference_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadAttributeReference_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadAttributeReference_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadAttributeReference_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadAttributeReference_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadAttributeReference_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadAttributeReference_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadAttributeReference_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadAttributeReference_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadAttributeReference_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadAttributeReference_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadAttributeReference_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadAttributeReference_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadAttributeReference_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadAttributeReference_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadAttributeReference_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadAttributeReference_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadAttributeReference_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadAttributeReference_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadAttributeReference_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadAttributeReference_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadAttributeReference_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadAttributeReference_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadAttributeReference_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadAttributeReference_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadAttributeReference_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadAttributeReference_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadAttributeReference_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadAttributeReference_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadAttributeReference_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadAttributeReference_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadAttributeReference_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadAttributeReference_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadAttributeReference_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadAttributeReference_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadAttributeReference_get_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,horizAlign) ) 

#define IAcadAttributeReference_put_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,horizAlign) ) 

#define IAcadAttributeReference_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadAttributeReference_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadAttributeReference_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadAttributeReference_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadAttributeReference_get_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> get_ObliqueAngle(This,obliAngle) ) 

#define IAcadAttributeReference_put_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> put_ObliqueAngle(This,obliAngle) ) 

#define IAcadAttributeReference_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadAttributeReference_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadAttributeReference_get_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scalFactor) ) 

#define IAcadAttributeReference_put_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scalFactor) ) 

#define IAcadAttributeReference_get_StyleName(This,Name)	\
    ( (This)->lpVtbl -> get_StyleName(This,Name) ) 

#define IAcadAttributeReference_put_StyleName(This,Name)	\
    ( (This)->lpVtbl -> put_StyleName(This,Name) ) 

#define IAcadAttributeReference_get_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> get_TagString(This,bstrTag) ) 

#define IAcadAttributeReference_put_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> put_TagString(This,bstrTag) ) 

#define IAcadAttributeReference_get_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> get_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadAttributeReference_put_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> put_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadAttributeReference_get_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> get_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadAttributeReference_put_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> put_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadAttributeReference_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadAttributeReference_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadAttributeReference_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadAttributeReference_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadAttributeReference_get_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,vertiAlign) ) 

#define IAcadAttributeReference_put_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,vertiAlign) ) 

#define IAcadAttributeReference_get_FieldLength(This,fieldLen)	\
    ( (This)->lpVtbl -> get_FieldLength(This,fieldLen) ) 

#define IAcadAttributeReference_put_FieldLength(This,fieldLen)	\
    ( (This)->lpVtbl -> put_FieldLength(This,fieldLen) ) 

#define IAcadAttributeReference_get_Alignment(This,align)	\
    ( (This)->lpVtbl -> get_Alignment(This,align) ) 

#define IAcadAttributeReference_put_Alignment(This,align)	\
    ( (This)->lpVtbl -> put_Alignment(This,align) ) 

#define IAcadAttributeReference_get_UpsideDown(This,bUpsideDown)	\
    ( (This)->lpVtbl -> get_UpsideDown(This,bUpsideDown) ) 

#define IAcadAttributeReference_put_UpsideDown(This,bUpsideDown)	\
    ( (This)->lpVtbl -> put_UpsideDown(This,bUpsideDown) ) 

#define IAcadAttributeReference_get_Backward(This,bBackward)	\
    ( (This)->lpVtbl -> get_Backward(This,bBackward) ) 

#define IAcadAttributeReference_put_Backward(This,bBackward)	\
    ( (This)->lpVtbl -> put_Backward(This,bBackward) ) 

#define IAcadAttributeReference_get_Invisible(This,bInvisible)	\
    ( (This)->lpVtbl -> get_Invisible(This,bInvisible) ) 

#define IAcadAttributeReference_put_Invisible(This,bInvisible)	\
    ( (This)->lpVtbl -> put_Invisible(This,bInvisible) ) 

#define IAcadAttributeReference_get_Constant(This,bConstant)	\
    ( (This)->lpVtbl -> get_Constant(This,bConstant) ) 

#define IAcadAttributeReference_get_LockPosition(This,bLockPosition)	\
    ( (This)->lpVtbl -> get_LockPosition(This,bLockPosition) ) 

#define IAcadAttributeReference_get_MTextAttribute(This,bMTextAttribute)	\
    ( (This)->lpVtbl -> get_MTextAttribute(This,bMTextAttribute) ) 

#define IAcadAttributeReference_put_MTextAttribute(This,bMTextAttribute)	\
    ( (This)->lpVtbl -> put_MTextAttribute(This,bMTextAttribute) ) 

#define IAcadAttributeReference_get_MTextAttributeContent(This,content)	\
    ( (This)->lpVtbl -> get_MTextAttributeContent(This,content) ) 

#define IAcadAttributeReference_put_MTextAttributeContent(This,content)	\
    ( (This)->lpVtbl -> put_MTextAttributeContent(This,content) ) 

#define IAcadAttributeReference_UpdateMTextAttribute(This)	\
    ( (This)->lpVtbl -> UpdateMTextAttribute(This) ) 

#define IAcadAttributeReference_get_MTextBoundaryWidth(This,boundaryWidth)	\
    ( (This)->lpVtbl -> get_MTextBoundaryWidth(This,boundaryWidth) ) 

#define IAcadAttributeReference_put_MTextBoundaryWidth(This,boundaryWidth)	\
    ( (This)->lpVtbl -> put_MTextBoundaryWidth(This,boundaryWidth) ) 

#define IAcadAttributeReference_get_MTextDrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> get_MTextDrawingDirection(This,drawDir) ) 

#define IAcadAttributeReference_put_MTextDrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> put_MTextDrawingDirection(This,drawDir) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadAttributeReference_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadAttributeReference,0x28E888D7,0x506A,0x4E22,0xBA,0x7F,0x7C,0x9C,0x73,0x1C,0x3E,0x49);

#ifdef __cplusplus

class DECLSPEC_UUID("28E888D7-506A-4E22-BA7F-7C9C731C3E49")
AcadAttributeReference;
#endif

#ifndef __IAcadBlockReference_INTERFACE_DEFINED__
#define __IAcadBlockReference_INTERFACE_DEFINED__

/* interface IAcadBlockReference */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadBlockReference,0x2C4680DA,0x7DA1,0x408C,0x9E,0x40,0x10,0x7E,0xF2,0x18,0x12,0x6B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2C4680DA-7DA1-408C-9E40-107EF218126B")
    IAcadBlockReference : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_XScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_YScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_YScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ZScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ZScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAttributes( 
            /* [retval][out] */ VARIANT *pAttrObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetConstantAttributes( 
            /* [retval][out] */ VARIANT *pAttrObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasAttributes( 
            /* [retval][out] */ VARIANT_BOOL *bHas) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EffectiveName( 
            /* [retval][out] */ BSTR *effectiveName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsDynamicBlock( 
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDynamicBlockProperties( 
            /* [retval][out] */ VARIANT *dynamicPropertyArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ResetBlock( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConvertToAnonymousBlock( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ConvertToStaticBlock( 
            /* [in] */ BSTR newBlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XEffectiveScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_XEffectiveScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_YEffectiveScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_YEffectiveScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ZEffectiveScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ZEffectiveScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsUnits( 
            /* [retval][out] */ BSTR *units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadBlockReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadBlockReference * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadBlockReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadBlockReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadBlockReference * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadBlockReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadBlockReference * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadBlockReference * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadBlockReference * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadBlockReference * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadBlockReference * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadBlockReference * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadBlockReference * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadBlockReference * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadBlockReference * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadBlockReference * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadBlockReference * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadBlockReference * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadBlockReference * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadBlockReference * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadBlockReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadBlockReference * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadBlockReference * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadBlockReference * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadBlockReference * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadBlockReference * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributes )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetConstantAttributes )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasAttributes )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT_BOOL *bHas);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EffectiveName )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *effectiveName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDynamicBlockProperties )( 
            IAcadBlockReference * This,
            /* [retval][out] */ VARIANT *dynamicPropertyArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetBlock )( 
            IAcadBlockReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToAnonymousBlock )( 
            IAcadBlockReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToStaticBlock )( 
            IAcadBlockReference * This,
            /* [in] */ BSTR newBlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZEffectiveScaleFactor )( 
            IAcadBlockReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnits )( 
            IAcadBlockReference * This,
            /* [retval][out] */ BSTR *units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnitsFactor )( 
            IAcadBlockReference * This,
            /* [retval][out] */ double *factor);
        
        END_INTERFACE
    } IAcadBlockReferenceVtbl;

    interface IAcadBlockReference
    {
        CONST_VTBL struct IAcadBlockReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadBlockReference_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadBlockReference_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadBlockReference_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadBlockReference_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadBlockReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadBlockReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadBlockReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadBlockReference_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadBlockReference_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadBlockReference_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadBlockReference_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadBlockReference_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadBlockReference_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadBlockReference_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadBlockReference_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadBlockReference_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadBlockReference_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadBlockReference_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadBlockReference_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadBlockReference_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadBlockReference_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadBlockReference_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadBlockReference_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadBlockReference_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadBlockReference_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadBlockReference_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadBlockReference_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadBlockReference_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadBlockReference_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadBlockReference_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadBlockReference_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadBlockReference_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadBlockReference_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadBlockReference_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadBlockReference_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadBlockReference_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadBlockReference_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadBlockReference_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadBlockReference_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadBlockReference_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadBlockReference_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadBlockReference_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadBlockReference_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadBlockReference_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadBlockReference_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadBlockReference_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadBlockReference_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadBlockReference_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadBlockReference_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadBlockReference_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadBlockReference_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadBlockReference_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadBlockReference_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadBlockReference_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadBlockReference_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadBlockReference_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadBlockReference_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadBlockReference_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadBlockReference_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadBlockReference_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadBlockReference_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadBlockReference_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadBlockReference_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadBlockReference_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadBlockReference_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadBlockReference_get_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_get_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_get_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadBlockReference_GetAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetAttributes(This,pAttrObjs) ) 

#define IAcadBlockReference_GetConstantAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetConstantAttributes(This,pAttrObjs) ) 

#define IAcadBlockReference_get_HasAttributes(This,bHas)	\
    ( (This)->lpVtbl -> get_HasAttributes(This,bHas) ) 

#define IAcadBlockReference_get_EffectiveName(This,effectiveName)	\
    ( (This)->lpVtbl -> get_EffectiveName(This,effectiveName) ) 

#define IAcadBlockReference_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadBlockReference_GetDynamicBlockProperties(This,dynamicPropertyArray)	\
    ( (This)->lpVtbl -> GetDynamicBlockProperties(This,dynamicPropertyArray) ) 

#define IAcadBlockReference_ResetBlock(This)	\
    ( (This)->lpVtbl -> ResetBlock(This) ) 

#define IAcadBlockReference_ConvertToAnonymousBlock(This)	\
    ( (This)->lpVtbl -> ConvertToAnonymousBlock(This) ) 

#define IAcadBlockReference_ConvertToStaticBlock(This,newBlockName)	\
    ( (This)->lpVtbl -> ConvertToStaticBlock(This,newBlockName) ) 

#define IAcadBlockReference_get_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_get_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_get_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_put_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadBlockReference_get_InsUnits(This,units)	\
    ( (This)->lpVtbl -> get_InsUnits(This,units) ) 

#define IAcadBlockReference_get_InsUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_InsUnitsFactor(This,factor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadBlockReference_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadBlockReference,0xD00F417A,0x0635,0x4134,0xBE,0xDF,0x0C,0x6A,0x80,0x6C,0xF9,0xE2);

#ifdef __cplusplus

class DECLSPEC_UUID("D00F417A-0635-4134-BEDF-0C6A806CF9E2")
AcadBlockReference;
#endif

#ifndef __IAcadCircle_INTERFACE_DEFINED__
#define __IAcadCircle_INTERFACE_DEFINED__

/* interface IAcadCircle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadCircle,0xDFA893B3,0x8082,0x4BE2,0xB3,0x11,0xE1,0x8B,0x95,0xA1,0xDC,0x43);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DFA893B3-8082-4BE2-B311-E18B95A1DC43")
    IAcadCircle : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ double *radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ double radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Diameter( 
            /* [retval][out] */ double *diameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Diameter( 
            /* [in] */ double diameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Circumference( 
            /* [retval][out] */ double *circumference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Circumference( 
            /* [in] */ double circumference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Area( 
            /* [in] */ double area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadCircleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadCircle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadCircle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadCircle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadCircle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadCircle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadCircle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadCircle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadCircle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadCircle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadCircle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadCircle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadCircle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadCircle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadCircle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadCircle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadCircle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadCircle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadCircle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadCircle * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadCircle * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadCircle * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadCircle * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadCircle * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadCircle * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadCircle * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadCircle * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadCircle * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadCircle * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadCircle * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadCircle * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadCircle * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadCircle * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadCircle * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadCircle * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadCircle * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadCircle * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadCircle * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadCircle * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadCircle * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadCircle * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadCircle * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadCircle * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadCircle * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadCircle * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadCircle * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadCircle * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadCircle * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadCircle * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadCircle * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadCircle * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadCircle * This,
            /* [retval][out] */ VARIANT *centerPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadCircle * This,
            /* [in] */ VARIANT centerPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Radius )( 
            IAcadCircle * This,
            /* [retval][out] */ double *radius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Radius )( 
            IAcadCircle * This,
            /* [in] */ double radius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Diameter )( 
            IAcadCircle * This,
            /* [retval][out] */ double *diameter);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Diameter )( 
            IAcadCircle * This,
            /* [in] */ double diameter);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Circumference )( 
            IAcadCircle * This,
            /* [retval][out] */ double *circumference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Circumference )( 
            IAcadCircle * This,
            /* [in] */ double circumference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadCircle * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Area )( 
            IAcadCircle * This,
            /* [in] */ double area);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadCircle * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadCircle * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadCircle * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadCircle * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadCircle * This,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        END_INTERFACE
    } IAcadCircleVtbl;

    interface IAcadCircle
    {
        CONST_VTBL struct IAcadCircleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadCircle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadCircle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadCircle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadCircle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadCircle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadCircle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadCircle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadCircle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadCircle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadCircle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadCircle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadCircle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadCircle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadCircle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadCircle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadCircle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadCircle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadCircle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadCircle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadCircle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadCircle_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadCircle_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadCircle_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadCircle_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadCircle_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadCircle_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadCircle_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadCircle_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadCircle_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadCircle_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadCircle_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadCircle_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadCircle_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadCircle_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadCircle_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadCircle_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadCircle_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadCircle_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadCircle_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadCircle_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadCircle_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadCircle_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadCircle_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadCircle_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadCircle_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadCircle_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadCircle_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadCircle_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadCircle_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadCircle_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadCircle_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadCircle_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadCircle_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadCircle_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadCircle_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadCircle_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadCircle_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadCircle_get_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> get_Center(This,centerPoint) ) 

#define IAcadCircle_put_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> put_Center(This,centerPoint) ) 

#define IAcadCircle_get_Radius(This,radius)	\
    ( (This)->lpVtbl -> get_Radius(This,radius) ) 

#define IAcadCircle_put_Radius(This,radius)	\
    ( (This)->lpVtbl -> put_Radius(This,radius) ) 

#define IAcadCircle_get_Diameter(This,diameter)	\
    ( (This)->lpVtbl -> get_Diameter(This,diameter) ) 

#define IAcadCircle_put_Diameter(This,diameter)	\
    ( (This)->lpVtbl -> put_Diameter(This,diameter) ) 

#define IAcadCircle_get_Circumference(This,circumference)	\
    ( (This)->lpVtbl -> get_Circumference(This,circumference) ) 

#define IAcadCircle_put_Circumference(This,circumference)	\
    ( (This)->lpVtbl -> put_Circumference(This,circumference) ) 

#define IAcadCircle_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadCircle_put_Area(This,area)	\
    ( (This)->lpVtbl -> put_Area(This,area) ) 

#define IAcadCircle_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadCircle_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadCircle_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadCircle_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadCircle_Offset(This,Distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,Distance,pOffsetCurves) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadCircle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadCircle,0x6BC25F56,0x8959,0x4252,0x87,0xB8,0x10,0x50,0x9F,0xD2,0x3D,0x05);

#ifdef __cplusplus

class DECLSPEC_UUID("6BC25F56-8959-4252-87B8-10509FD23D05")
AcadCircle;
#endif

#ifndef __IAcadEllipse_INTERFACE_DEFINED__
#define __IAcadEllipse_INTERFACE_DEFINED__

/* interface IAcadEllipse */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadEllipse,0xDAF0CD5D,0xFB03,0x4B35,0xBE,0xA5,0xDD,0x92,0xEC,0x6C,0x08,0x98);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DAF0CD5D-FB03-4B35-BEA5-DD92EC6C0898")
    IAcadEllipse : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ VARIANT *startPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT center) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ VARIANT *endPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MajorRadius( 
            /* [retval][out] */ double *majorRadius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MajorRadius( 
            /* [in] */ double majorRadius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MinorRadius( 
            /* [retval][out] */ double *minorRadius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MinorRadius( 
            /* [in] */ double minorRadius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RadiusRatio( 
            /* [retval][out] */ double *radiusRatio) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RadiusRatio( 
            /* [in] */ double radiusRatio) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartAngle( 
            /* [retval][out] */ ACAD_ANGLE *startAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartAngle( 
            /* [in] */ ACAD_ANGLE startAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndAngle( 
            /* [retval][out] */ ACAD_ANGLE *endAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndAngle( 
            /* [in] */ ACAD_ANGLE endAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartParameter( 
            /* [retval][out] */ double *startParameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartParameter( 
            /* [in] */ double startParameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndParameter( 
            /* [retval][out] */ double *endParameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndParameter( 
            /* [in] */ double endParameter) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MajorAxis( 
            /* [retval][out] */ VARIANT *majorAxis) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MajorAxis( 
            /* [in] */ VARIANT majorAxis) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MinorAxis( 
            /* [retval][out] */ VARIANT *minorAxis) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadEllipseVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadEllipse * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadEllipse * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadEllipse * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadEllipse * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadEllipse * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadEllipse * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadEllipse * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadEllipse * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadEllipse * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadEllipse * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadEllipse * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadEllipse * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadEllipse * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadEllipse * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadEllipse * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadEllipse * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadEllipse * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadEllipse * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadEllipse * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadEllipse * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadEllipse * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadEllipse * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadEllipse * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadEllipse * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadEllipse * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadEllipse * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadEllipse * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadEllipse * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadEllipse * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadEllipse * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadEllipse * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadEllipse * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadEllipse * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadEllipse * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadEllipse * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadEllipse * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadEllipse * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadEllipse * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartPoint )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *startPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *center);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT center);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndPoint )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MajorRadius )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *majorRadius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MajorRadius )( 
            IAcadEllipse * This,
            /* [in] */ double majorRadius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinorRadius )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *minorRadius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MinorRadius )( 
            IAcadEllipse * This,
            /* [in] */ double minorRadius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RadiusRatio )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *radiusRatio);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RadiusRatio )( 
            IAcadEllipse * This,
            /* [in] */ double radiusRatio);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartAngle )( 
            IAcadEllipse * This,
            /* [retval][out] */ ACAD_ANGLE *startAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartAngle )( 
            IAcadEllipse * This,
            /* [in] */ ACAD_ANGLE startAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndAngle )( 
            IAcadEllipse * This,
            /* [retval][out] */ ACAD_ANGLE *endAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndAngle )( 
            IAcadEllipse * This,
            /* [in] */ ACAD_ANGLE endAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartParameter )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *startParameter);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartParameter )( 
            IAcadEllipse * This,
            /* [in] */ double startParameter);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndParameter )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *endParameter);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndParameter )( 
            IAcadEllipse * This,
            /* [in] */ double endParameter);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MajorAxis )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *majorAxis);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MajorAxis )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT majorAxis);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinorAxis )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *minorAxis);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadEllipse * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadEllipse * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadEllipse * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadEllipse * This,
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        END_INTERFACE
    } IAcadEllipseVtbl;

    interface IAcadEllipse
    {
        CONST_VTBL struct IAcadEllipseVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadEllipse_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadEllipse_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadEllipse_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadEllipse_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadEllipse_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadEllipse_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadEllipse_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadEllipse_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadEllipse_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadEllipse_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadEllipse_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadEllipse_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadEllipse_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadEllipse_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadEllipse_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadEllipse_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadEllipse_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadEllipse_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadEllipse_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadEllipse_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadEllipse_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadEllipse_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadEllipse_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadEllipse_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadEllipse_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadEllipse_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadEllipse_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadEllipse_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadEllipse_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadEllipse_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadEllipse_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadEllipse_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadEllipse_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadEllipse_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadEllipse_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadEllipse_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadEllipse_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadEllipse_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadEllipse_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadEllipse_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadEllipse_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadEllipse_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadEllipse_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadEllipse_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadEllipse_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadEllipse_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadEllipse_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadEllipse_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadEllipse_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadEllipse_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadEllipse_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadEllipse_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadEllipse_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadEllipse_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadEllipse_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadEllipse_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadEllipse_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadEllipse_get_StartPoint(This,startPoint)	\
    ( (This)->lpVtbl -> get_StartPoint(This,startPoint) ) 

#define IAcadEllipse_get_Center(This,center)	\
    ( (This)->lpVtbl -> get_Center(This,center) ) 

#define IAcadEllipse_put_Center(This,center)	\
    ( (This)->lpVtbl -> put_Center(This,center) ) 

#define IAcadEllipse_get_EndPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_EndPoint(This,endPoint) ) 

#define IAcadEllipse_get_MajorRadius(This,majorRadius)	\
    ( (This)->lpVtbl -> get_MajorRadius(This,majorRadius) ) 

#define IAcadEllipse_put_MajorRadius(This,majorRadius)	\
    ( (This)->lpVtbl -> put_MajorRadius(This,majorRadius) ) 

#define IAcadEllipse_get_MinorRadius(This,minorRadius)	\
    ( (This)->lpVtbl -> get_MinorRadius(This,minorRadius) ) 

#define IAcadEllipse_put_MinorRadius(This,minorRadius)	\
    ( (This)->lpVtbl -> put_MinorRadius(This,minorRadius) ) 

#define IAcadEllipse_get_RadiusRatio(This,radiusRatio)	\
    ( (This)->lpVtbl -> get_RadiusRatio(This,radiusRatio) ) 

#define IAcadEllipse_put_RadiusRatio(This,radiusRatio)	\
    ( (This)->lpVtbl -> put_RadiusRatio(This,radiusRatio) ) 

#define IAcadEllipse_get_StartAngle(This,startAngle)	\
    ( (This)->lpVtbl -> get_StartAngle(This,startAngle) ) 

#define IAcadEllipse_put_StartAngle(This,startAngle)	\
    ( (This)->lpVtbl -> put_StartAngle(This,startAngle) ) 

#define IAcadEllipse_get_EndAngle(This,endAngle)	\
    ( (This)->lpVtbl -> get_EndAngle(This,endAngle) ) 

#define IAcadEllipse_put_EndAngle(This,endAngle)	\
    ( (This)->lpVtbl -> put_EndAngle(This,endAngle) ) 

#define IAcadEllipse_get_StartParameter(This,startParameter)	\
    ( (This)->lpVtbl -> get_StartParameter(This,startParameter) ) 

#define IAcadEllipse_put_StartParameter(This,startParameter)	\
    ( (This)->lpVtbl -> put_StartParameter(This,startParameter) ) 

#define IAcadEllipse_get_EndParameter(This,endParameter)	\
    ( (This)->lpVtbl -> get_EndParameter(This,endParameter) ) 

#define IAcadEllipse_put_EndParameter(This,endParameter)	\
    ( (This)->lpVtbl -> put_EndParameter(This,endParameter) ) 

#define IAcadEllipse_get_MajorAxis(This,majorAxis)	\
    ( (This)->lpVtbl -> get_MajorAxis(This,majorAxis) ) 

#define IAcadEllipse_put_MajorAxis(This,majorAxis)	\
    ( (This)->lpVtbl -> put_MajorAxis(This,majorAxis) ) 

#define IAcadEllipse_get_MinorAxis(This,minorAxis)	\
    ( (This)->lpVtbl -> get_MinorAxis(This,minorAxis) ) 

#define IAcadEllipse_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadEllipse_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadEllipse_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadEllipse_Offset(This,distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,distance,pOffsetCurves) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadEllipse_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadEllipse,0x6C490DE0,0xDADC,0x44A3,0x89,0xAF,0x1B,0xE2,0x24,0x7E,0x4D,0x20);

#ifdef __cplusplus

class DECLSPEC_UUID("6C490DE0-DADC-44A3-89AF-1BE2247E4D20")
AcadEllipse;
#endif

#ifndef __IAcadHatch_INTERFACE_DEFINED__
#define __IAcadHatch_INTERFACE_DEFINED__

/* interface IAcadHatch */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadHatch,0x740530F2,0x3193,0x4C6E,0xB5,0xF3,0xE3,0x72,0x74,0xCC,0x4B,0xE6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("740530F2-3193-4C6E-B5F3-E37274CC4BE6")
    IAcadHatch : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfLoops( 
            /* [retval][out] */ long *numLoops) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternType( 
            /* [retval][out] */ AcPatternType *PatternType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternAngle( 
            /* [retval][out] */ ACAD_ANGLE *patternAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PatternAngle( 
            /* [in] */ ACAD_ANGLE patternAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternScale( 
            /* [retval][out] */ ACAD_NOUNITS *patternScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PatternScale( 
            /* [in] */ ACAD_NOUNITS patternScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternSpace( 
            /* [retval][out] */ double *PatternSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PatternSpace( 
            /* [in] */ double PatternSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ISOPenWidth( 
            /* [retval][out] */ AcISOPenWidth *penWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ISOPenWidth( 
            /* [in] */ AcISOPenWidth penWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PatternDouble( 
            /* [retval][out] */ VARIANT_BOOL *bDouble) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PatternDouble( 
            /* [in] */ VARIANT_BOOL bDouble) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Elevation( 
            /* [retval][out] */ double *elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Elevation( 
            /* [in] */ double elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AssociativeHatch( 
            /* [retval][out] */ VARIANT_BOOL *fAssoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AssociativeHatch( 
            /* [in] */ VARIANT_BOOL fAssoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HatchStyle( 
            /* [retval][out] */ AcHatchStyle *hatchStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HatchStyle( 
            /* [in] */ AcHatchStyle hatchStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetPattern( 
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendOuterLoop( 
            /* [in] */ VARIANT ObjectArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendInnerLoop( 
            /* [in] */ VARIANT ObjectArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertLoopAt( 
            /* [in] */ int Index,
            /* [in] */ AcLoopType LoopType,
            /* [in] */ VARIANT ObjectArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLoopAt( 
            /* [in] */ int Index,
            /* [out] */ VARIANT *ObjectArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Evaluate( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GradientColor1( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GradientColor1( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GradientColor2( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GradientColor2( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GradientAngle( 
            /* [retval][out] */ ACAD_ANGLE *gradientAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GradientAngle( 
            /* [in] */ ACAD_ANGLE gradientAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GradientCentered( 
            /* [retval][out] */ VARIANT_BOOL *fCentered) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GradientCentered( 
            /* [in] */ VARIANT_BOOL fCentered) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GradientName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GradientName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_HatchObjectType( 
            /* [retval][out] */ AcHatchObjectType *hatchType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_HatchObjectType( 
            /* [in] */ AcHatchObjectType hatchType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Origin( 
            /* [retval][out] */ VARIANT *origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Origin( 
            /* [in] */ VARIANT origin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadHatchVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadHatch * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadHatch * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadHatch * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadHatch * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadHatch * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadHatch * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadHatch * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadHatch * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadHatch * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadHatch * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadHatch * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadHatch * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadHatch * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadHatch * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadHatch * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadHatch * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadHatch * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadHatch * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadHatch * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadHatch * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadHatch * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadHatch * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadHatch * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadHatch * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadHatch * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadHatch * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadHatch * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadHatch * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadHatch * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadHatch * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadHatch * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadHatch * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadHatch * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadHatch * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadHatch * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadHatch * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadHatch * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadHatch * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadHatch * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadHatch * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadHatch * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfLoops )( 
            IAcadHatch * This,
            /* [retval][out] */ long *numLoops);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternType )( 
            IAcadHatch * This,
            /* [retval][out] */ AcPatternType *PatternType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternName )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternAngle )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_ANGLE *patternAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PatternAngle )( 
            IAcadHatch * This,
            /* [in] */ ACAD_ANGLE patternAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternScale )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_NOUNITS *patternScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PatternScale )( 
            IAcadHatch * This,
            /* [in] */ ACAD_NOUNITS patternScale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternSpace )( 
            IAcadHatch * This,
            /* [retval][out] */ double *PatternSpace);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PatternSpace )( 
            IAcadHatch * This,
            /* [in] */ double PatternSpace);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ISOPenWidth )( 
            IAcadHatch * This,
            /* [retval][out] */ AcISOPenWidth *penWidth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ISOPenWidth )( 
            IAcadHatch * This,
            /* [in] */ AcISOPenWidth penWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PatternDouble )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT_BOOL *bDouble);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PatternDouble )( 
            IAcadHatch * This,
            /* [in] */ VARIANT_BOOL bDouble);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IAcadHatch * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IAcadHatch * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AssociativeHatch )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT_BOOL *fAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AssociativeHatch )( 
            IAcadHatch * This,
            /* [in] */ VARIANT_BOOL fAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HatchStyle )( 
            IAcadHatch * This,
            /* [retval][out] */ AcHatchStyle *hatchStyle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HatchStyle )( 
            IAcadHatch * This,
            /* [in] */ AcHatchStyle hatchStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPattern )( 
            IAcadHatch * This,
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendOuterLoop )( 
            IAcadHatch * This,
            /* [in] */ VARIANT ObjectArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendInnerLoop )( 
            IAcadHatch * This,
            /* [in] */ VARIANT ObjectArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertLoopAt )( 
            IAcadHatch * This,
            /* [in] */ int Index,
            /* [in] */ AcLoopType LoopType,
            /* [in] */ VARIANT ObjectArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLoopAt )( 
            IAcadHatch * This,
            /* [in] */ int Index,
            /* [out] */ VARIANT *ObjectArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Evaluate )( 
            IAcadHatch * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GradientColor1 )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GradientColor1 )( 
            IAcadHatch * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GradientColor2 )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GradientColor2 )( 
            IAcadHatch * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GradientAngle )( 
            IAcadHatch * This,
            /* [retval][out] */ ACAD_ANGLE *gradientAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GradientAngle )( 
            IAcadHatch * This,
            /* [in] */ ACAD_ANGLE gradientAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GradientCentered )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT_BOOL *fCentered);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GradientCentered )( 
            IAcadHatch * This,
            /* [in] */ VARIANT_BOOL fCentered);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GradientName )( 
            IAcadHatch * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GradientName )( 
            IAcadHatch * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HatchObjectType )( 
            IAcadHatch * This,
            /* [retval][out] */ AcHatchObjectType *hatchType);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HatchObjectType )( 
            IAcadHatch * This,
            /* [in] */ AcHatchObjectType hatchType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadHatch * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadHatch * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadHatch * This,
            /* [in] */ VARIANT origin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundColor )( 
            IAcadHatch * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundColor )( 
            IAcadHatch * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        END_INTERFACE
    } IAcadHatchVtbl;

    interface IAcadHatch
    {
        CONST_VTBL struct IAcadHatchVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadHatch_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadHatch_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadHatch_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadHatch_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadHatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadHatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadHatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadHatch_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadHatch_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadHatch_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadHatch_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadHatch_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadHatch_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadHatch_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadHatch_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadHatch_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadHatch_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadHatch_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadHatch_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadHatch_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadHatch_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadHatch_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadHatch_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadHatch_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadHatch_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadHatch_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadHatch_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadHatch_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadHatch_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadHatch_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadHatch_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadHatch_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadHatch_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadHatch_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadHatch_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadHatch_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadHatch_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadHatch_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadHatch_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadHatch_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadHatch_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadHatch_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadHatch_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadHatch_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadHatch_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadHatch_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadHatch_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadHatch_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadHatch_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadHatch_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadHatch_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadHatch_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadHatch_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadHatch_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadHatch_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadHatch_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadHatch_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadHatch_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadHatch_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadHatch_get_NumberOfLoops(This,numLoops)	\
    ( (This)->lpVtbl -> get_NumberOfLoops(This,numLoops) ) 

#define IAcadHatch_get_PatternType(This,PatternType)	\
    ( (This)->lpVtbl -> get_PatternType(This,PatternType) ) 

#define IAcadHatch_get_PatternName(This,bstrName)	\
    ( (This)->lpVtbl -> get_PatternName(This,bstrName) ) 

#define IAcadHatch_get_PatternAngle(This,patternAngle)	\
    ( (This)->lpVtbl -> get_PatternAngle(This,patternAngle) ) 

#define IAcadHatch_put_PatternAngle(This,patternAngle)	\
    ( (This)->lpVtbl -> put_PatternAngle(This,patternAngle) ) 

#define IAcadHatch_get_PatternScale(This,patternScale)	\
    ( (This)->lpVtbl -> get_PatternScale(This,patternScale) ) 

#define IAcadHatch_put_PatternScale(This,patternScale)	\
    ( (This)->lpVtbl -> put_PatternScale(This,patternScale) ) 

#define IAcadHatch_get_PatternSpace(This,PatternSpace)	\
    ( (This)->lpVtbl -> get_PatternSpace(This,PatternSpace) ) 

#define IAcadHatch_put_PatternSpace(This,PatternSpace)	\
    ( (This)->lpVtbl -> put_PatternSpace(This,PatternSpace) ) 

#define IAcadHatch_get_ISOPenWidth(This,penWidth)	\
    ( (This)->lpVtbl -> get_ISOPenWidth(This,penWidth) ) 

#define IAcadHatch_put_ISOPenWidth(This,penWidth)	\
    ( (This)->lpVtbl -> put_ISOPenWidth(This,penWidth) ) 

#define IAcadHatch_get_PatternDouble(This,bDouble)	\
    ( (This)->lpVtbl -> get_PatternDouble(This,bDouble) ) 

#define IAcadHatch_put_PatternDouble(This,bDouble)	\
    ( (This)->lpVtbl -> put_PatternDouble(This,bDouble) ) 

#define IAcadHatch_get_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> get_Elevation(This,elevation) ) 

#define IAcadHatch_put_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> put_Elevation(This,elevation) ) 

#define IAcadHatch_get_AssociativeHatch(This,fAssoc)	\
    ( (This)->lpVtbl -> get_AssociativeHatch(This,fAssoc) ) 

#define IAcadHatch_put_AssociativeHatch(This,fAssoc)	\
    ( (This)->lpVtbl -> put_AssociativeHatch(This,fAssoc) ) 

#define IAcadHatch_get_HatchStyle(This,hatchStyle)	\
    ( (This)->lpVtbl -> get_HatchStyle(This,hatchStyle) ) 

#define IAcadHatch_put_HatchStyle(This,hatchStyle)	\
    ( (This)->lpVtbl -> put_HatchStyle(This,hatchStyle) ) 

#define IAcadHatch_SetPattern(This,PatternType,PatternName)	\
    ( (This)->lpVtbl -> SetPattern(This,PatternType,PatternName) ) 

#define IAcadHatch_AppendOuterLoop(This,ObjectArray)	\
    ( (This)->lpVtbl -> AppendOuterLoop(This,ObjectArray) ) 

#define IAcadHatch_AppendInnerLoop(This,ObjectArray)	\
    ( (This)->lpVtbl -> AppendInnerLoop(This,ObjectArray) ) 

#define IAcadHatch_InsertLoopAt(This,Index,LoopType,ObjectArray)	\
    ( (This)->lpVtbl -> InsertLoopAt(This,Index,LoopType,ObjectArray) ) 

#define IAcadHatch_GetLoopAt(This,Index,ObjectArray)	\
    ( (This)->lpVtbl -> GetLoopAt(This,Index,ObjectArray) ) 

#define IAcadHatch_Evaluate(This)	\
    ( (This)->lpVtbl -> Evaluate(This) ) 

#define IAcadHatch_get_GradientColor1(This,pColor)	\
    ( (This)->lpVtbl -> get_GradientColor1(This,pColor) ) 

#define IAcadHatch_put_GradientColor1(This,pColor)	\
    ( (This)->lpVtbl -> put_GradientColor1(This,pColor) ) 

#define IAcadHatch_get_GradientColor2(This,pColor)	\
    ( (This)->lpVtbl -> get_GradientColor2(This,pColor) ) 

#define IAcadHatch_put_GradientColor2(This,pColor)	\
    ( (This)->lpVtbl -> put_GradientColor2(This,pColor) ) 

#define IAcadHatch_get_GradientAngle(This,gradientAngle)	\
    ( (This)->lpVtbl -> get_GradientAngle(This,gradientAngle) ) 

#define IAcadHatch_put_GradientAngle(This,gradientAngle)	\
    ( (This)->lpVtbl -> put_GradientAngle(This,gradientAngle) ) 

#define IAcadHatch_get_GradientCentered(This,fCentered)	\
    ( (This)->lpVtbl -> get_GradientCentered(This,fCentered) ) 

#define IAcadHatch_put_GradientCentered(This,fCentered)	\
    ( (This)->lpVtbl -> put_GradientCentered(This,fCentered) ) 

#define IAcadHatch_get_GradientName(This,bstrName)	\
    ( (This)->lpVtbl -> get_GradientName(This,bstrName) ) 

#define IAcadHatch_put_GradientName(This,bstrName)	\
    ( (This)->lpVtbl -> put_GradientName(This,bstrName) ) 

#define IAcadHatch_get_HatchObjectType(This,hatchType)	\
    ( (This)->lpVtbl -> get_HatchObjectType(This,hatchType) ) 

#define IAcadHatch_put_HatchObjectType(This,hatchType)	\
    ( (This)->lpVtbl -> put_HatchObjectType(This,hatchType) ) 

#define IAcadHatch_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadHatch_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadHatch_put_Origin(This,origin)	\
    ( (This)->lpVtbl -> put_Origin(This,origin) ) 

#define IAcadHatch_get_BackgroundColor(This,pColor)	\
    ( (This)->lpVtbl -> get_BackgroundColor(This,pColor) ) 

#define IAcadHatch_put_BackgroundColor(This,pColor)	\
    ( (This)->lpVtbl -> put_BackgroundColor(This,pColor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadHatch_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadHatch,0xB383973A,0x3C50,0x428B,0x9A,0x4A,0x0F,0xE4,0x7D,0xBA,0x02,0x09);

#ifdef __cplusplus

class DECLSPEC_UUID("B383973A-3C50-428B-9A4A-0FE47DBA0209")
AcadHatch;
#endif

#ifndef __IAcadLeader_INTERFACE_DEFINED__
#define __IAcadLeader_INTERFACE_DEFINED__

/* interface IAcadLeader */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLeader,0x64D4F695,0xDBFE,0x47CD,0xAB,0x43,0xCB,0x1D,0x0F,0xD0,0x87,0x9C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("64D4F695-DBFE-47CD-AB43-CB1D0FD0879C")
    IAcadLeader : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcLeaderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ AcLeaderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Evaluate( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][nonbrowsable][propget] */ HRESULT STDMETHODCALLTYPE get_Annotation( 
            /* [retval][out] */ IAcadEntity **pVal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Annotation( 
            /* [in] */ IAcadEntity *newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalTextPosition( 
            /* [retval][out] */ AcDimVerticalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalTextPosition( 
            /* [in] */ AcDimVerticalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGap( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGap( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLeaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLeader * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLeader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLeader * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLeader * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLeader * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLeader * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLeader * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLeader * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLeader * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLeader * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLeader * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLeader * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLeader * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLeader * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLeader * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLeader * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLeader * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLeader * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadLeader * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadLeader * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadLeader * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadLeader * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadLeader * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadLeader * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadLeader * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadLeader * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadLeader * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadLeader * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadLeader * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadLeader * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadLeader * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadLeader * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadLeader * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadLeader * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadLeader * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadLeader * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadLeader * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadLeader * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadLeader * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadLeader * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadLeader * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadLeader * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadLeader * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadLeader * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadLeader * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadLeader * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadLeader * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadLeader * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadLeader * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadLeader * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadLeader * This,
            /* [retval][out] */ AcLeaderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IAcadLeader * This,
            /* [in] */ AcLeaderType type);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Evaluate )( 
            IAcadLeader * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadLeader * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadLeader * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpcontext][helpstringcontext][id][nonbrowsable][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Annotation )( 
            IAcadLeader * This,
            /* [retval][out] */ IAcadEntity **pVal);
        
        /* [helpcontext][helpstringcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Annotation )( 
            IAcadLeader * This,
            /* [in] */ IAcadEntity *newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadLeader * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadLeader * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadType )( 
            IAcadLeader * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadType )( 
            IAcadLeader * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadLeader * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadLeader * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadLeader * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadLeader * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadLeader * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadLeader * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadLeader * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadLeader * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadBlock )( 
            IAcadLeader * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadBlock )( 
            IAcadLeader * This,
            /* [in] */ BSTR BlockName);
        
        END_INTERFACE
    } IAcadLeaderVtbl;

    interface IAcadLeader
    {
        CONST_VTBL struct IAcadLeaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLeader_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLeader_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLeader_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLeader_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLeader_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLeader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLeader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLeader_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLeader_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLeader_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLeader_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLeader_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLeader_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLeader_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLeader_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLeader_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLeader_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLeader_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLeader_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLeader_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLeader_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadLeader_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadLeader_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadLeader_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadLeader_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadLeader_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadLeader_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadLeader_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadLeader_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadLeader_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadLeader_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadLeader_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadLeader_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadLeader_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadLeader_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadLeader_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadLeader_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadLeader_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadLeader_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadLeader_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadLeader_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadLeader_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadLeader_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadLeader_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadLeader_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadLeader_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadLeader_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadLeader_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadLeader_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadLeader_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadLeader_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadLeader_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadLeader_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadLeader_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadLeader_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadLeader_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadLeader_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadLeader_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcadLeader_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcadLeader_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadLeader_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadLeader_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadLeader_get_Type(This,type)	\
    ( (This)->lpVtbl -> get_Type(This,type) ) 

#define IAcadLeader_put_Type(This,type)	\
    ( (This)->lpVtbl -> put_Type(This,type) ) 

#define IAcadLeader_Evaluate(This)	\
    ( (This)->lpVtbl -> Evaluate(This) ) 

#define IAcadLeader_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadLeader_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcadLeader_get_Annotation(This,pVal)	\
    ( (This)->lpVtbl -> get_Annotation(This,pVal) ) 

#define IAcadLeader_put_Annotation(This,newVal)	\
    ( (This)->lpVtbl -> put_Annotation(This,newVal) ) 

#define IAcadLeader_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadLeader_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadLeader_get_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> get_ArrowheadType(This,Type) ) 

#define IAcadLeader_put_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> put_ArrowheadType(This,Type) ) 

#define IAcadLeader_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadLeader_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadLeader_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadLeader_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadLeader_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadLeader_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadLeader_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadLeader_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadLeader_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadLeader_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadLeader_get_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName) ) 

#define IAcadLeader_put_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLeader_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLeader,0x79464EDF,0x94EB,0x4F6D,0xA3,0x7D,0xF7,0xE6,0x03,0x5A,0x9A,0x99);

#ifdef __cplusplus

class DECLSPEC_UUID("79464EDF-94EB-4F6D-A37D-F7E6035A9A99")
AcadLeader;
#endif

#ifndef __IAcadSubEntity_INTERFACE_DEFINED__
#define __IAcadSubEntity_INTERFACE_DEFINED__

/* interface IAcadSubEntity */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubEntity,0xF69F4DE5,0x1EFD,0x48DC,0x8C,0xAB,0xAE,0x6A,0x1D,0x4D,0x7E,0x01);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F69F4DE5-1EFD-48DC-8CAB-AE6A1D4D7E01")
    IAcadSubEntity : public IDispatch
    {
    public:
        virtual /* [nonbrowsable][id] */ HRESULT STDMETHODCALLTYPE OnModified( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectName( 
            /* [retval][out] */ BSTR *ObjectName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Color( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Color( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Layer( 
            /* [retval][out] */ BSTR *Layer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinetypeScale( 
            /* [retval][out] */ ACAD_NOUNITS *ltScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PlotStyleName( 
            /* [retval][out] */ BSTR *plotStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Lineweight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Hyperlinks( 
            /* [retval][out] */ IAcadHyperlinks **HyperLinks) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubEntityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubEntity * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubEntity * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubEntity * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubEntity * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubEntity * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubEntity * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubEntity * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubEntity * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubEntity * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubEntity * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubEntity * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubEntity * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubEntity * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubEntity * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubEntity * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubEntity * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubEntity * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        END_INTERFACE
    } IAcadSubEntityVtbl;

    interface IAcadSubEntity
    {
        CONST_VTBL struct IAcadSubEntityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubEntity_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubEntity_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubEntity_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubEntity_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubEntity_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubEntity_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubEntity_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubEntity_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubEntity_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubEntity_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubEntity_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubEntity_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubEntity_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubEntity_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubEntity_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubEntity_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubEntity_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubEntity_INTERFACE_DEFINED__ */


#ifndef __IAcadMLeaderLeader_INTERFACE_DEFINED__
#define __IAcadMLeaderLeader_INTERFACE_DEFINED__

/* interface IAcadMLeaderLeader */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMLeaderLeader,0xA03AB0CE,0x8F2A,0x4094,0x9E,0x01,0x7E,0xC0,0xAC,0x1F,0x10,0xD9);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A03AB0CE-8F2A-4094-9E01-7EC0AC1F10D9")
    IAcadMLeaderLeader : public IAcadSubEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderType( 
            /* [retval][out] */ AcMLeaderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderType( 
            /* [in] */ AcMLeaderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineColor( 
            /* [retval][out] */ IAcadAcCmColor **Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineColor( 
            /* [in] */ IAcadAcCmColor *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLinetype( 
            /* [retval][out] */ ACAD_LTYPE *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLinetype( 
            /* [in] */ ACAD_LTYPE Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineWeight( 
            /* [in] */ ACAD_LWEIGHT lineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ AcDimArrowheadType *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ AcDimArrowheadType BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMLeaderLeaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMLeaderLeader * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMLeaderLeader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMLeaderLeader * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMLeaderLeader * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMLeaderLeader * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMLeaderLeader * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMLeaderLeader * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadMLeaderLeader * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadMLeaderLeader * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderType )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ AcMLeaderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderType )( 
            IAcadMLeaderLeader * This,
            /* [in] */ AcMLeaderType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineColor )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ IAcadAcCmColor **Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineColor )( 
            IAcadMLeaderLeader * This,
            /* [in] */ IAcadAcCmColor *Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLinetype )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ ACAD_LTYPE *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLinetype )( 
            IAcadMLeaderLeader * This,
            /* [in] */ ACAD_LTYPE Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineWeight )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineWeight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineWeight )( 
            IAcadMLeaderLeader * This,
            /* [in] */ ACAD_LWEIGHT lineWeight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadType )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ AcDimArrowheadType *BlockName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadType )( 
            IAcadMLeaderLeader * This,
            /* [in] */ AcDimArrowheadType BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadMLeaderLeader * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadBlock )( 
            IAcadMLeaderLeader * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadBlock )( 
            IAcadMLeaderLeader * This,
            /* [in] */ BSTR BlockName);
        
        END_INTERFACE
    } IAcadMLeaderLeaderVtbl;

    interface IAcadMLeaderLeader
    {
        CONST_VTBL struct IAcadMLeaderLeaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMLeaderLeader_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMLeaderLeader_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMLeaderLeader_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMLeaderLeader_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMLeaderLeader_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMLeaderLeader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMLeaderLeader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMLeaderLeader_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadMLeaderLeader_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMLeaderLeader_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadMLeaderLeader_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadMLeaderLeader_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadMLeaderLeader_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadMLeaderLeader_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadMLeaderLeader_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadMLeaderLeader_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadMLeaderLeader_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#define IAcadMLeaderLeader_get_LeaderType(This,type)	\
    ( (This)->lpVtbl -> get_LeaderType(This,type) ) 

#define IAcadMLeaderLeader_put_LeaderType(This,type)	\
    ( (This)->lpVtbl -> put_LeaderType(This,type) ) 

#define IAcadMLeaderLeader_get_LeaderLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_LeaderLineColor(This,Type) ) 

#define IAcadMLeaderLeader_put_LeaderLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_LeaderLineColor(This,Type) ) 

#define IAcadMLeaderLeader_get_LeaderLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_LeaderLinetype(This,Linetype) ) 

#define IAcadMLeaderLeader_put_LeaderLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_LeaderLinetype(This,Linetype) ) 

#define IAcadMLeaderLeader_get_LeaderLineWeight(This,lineWeight)	\
    ( (This)->lpVtbl -> get_LeaderLineWeight(This,lineWeight) ) 

#define IAcadMLeaderLeader_put_LeaderLineWeight(This,lineWeight)	\
    ( (This)->lpVtbl -> put_LeaderLineWeight(This,lineWeight) ) 

#define IAcadMLeaderLeader_get_ArrowheadType(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadType(This,BlockName) ) 

#define IAcadMLeaderLeader_put_ArrowheadType(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadType(This,BlockName) ) 

#define IAcadMLeaderLeader_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadMLeaderLeader_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadMLeaderLeader_get_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName) ) 

#define IAcadMLeaderLeader_put_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMLeaderLeader_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMLeaderLeader,0x988BA02B,0x1B64,0x479A,0xB9,0xF6,0x8C,0xED,0xB2,0xB3,0x5A,0x15);

#ifdef __cplusplus

class DECLSPEC_UUID("988BA02B-1B64-479A-B9F6-8CEDB2B35A15")
AcadMLeaderLeader;
#endif

#ifndef __IAcadMLeader_INTERFACE_DEFINED__
#define __IAcadMLeader_INTERFACE_DEFINED__

/* interface IAcadMLeader */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMLeader,0x72EC001C,0x0176,0x4C77,0x87,0x6D,0x2F,0x4A,0xD4,0xB8,0xB6,0x46);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("72EC001C-0176-4C77-876D-2F4AD4B8B646")
    IAcadMLeader : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ double *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ double scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderType( 
            /* [retval][out] */ AcMLeaderType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderType( 
            /* [in] */ AcMLeaderType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineColor( 
            /* [retval][out] */ IAcadAcCmColor **Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineColor( 
            /* [in] */ IAcadAcCmColor *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLinetype( 
            /* [retval][out] */ ACAD_LTYPE *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLinetype( 
            /* [in] */ ACAD_LTYPE Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLineWeight( 
            /* [in] */ ACAD_LWEIGHT lineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ AcDimArrowheadType *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ AcDimArrowheadType BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DogLegged( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DogLegged( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DoglegLength( 
            /* [retval][out] */ double *doglegLength) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DoglegLength( 
            /* [in] */ double doglegLength) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ContentBlockName( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ContentBlockName( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockConnectionType( 
            /* [retval][out] */ AcBlockConnectionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockConnectionType( 
            /* [in] */ AcBlockConnectionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BlockScale( 
            /* [retval][out] */ ACAD_NOUNITS *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BlockScale( 
            /* [in] */ ACAD_NOUNITS factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextStyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextJustify( 
            /* [retval][out] */ AcAttachmentPoint *attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextJustify( 
            /* [in] */ AcAttachmentPoint attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextDirection( 
            /* [retval][out] */ AcDrawingDirection *drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextDirection( 
            /* [in] */ AcDrawingDirection drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextRotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextLineSpacingFactor( 
            /* [retval][out] */ double *Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextLineSpacingFactor( 
            /* [in] */ double Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextLineSpacingDistance( 
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextLineSpacingDistance( 
            /* [in] */ double Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextLineSpacingStyle( 
            /* [retval][out] */ AcLineSpacingStyle *Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextLineSpacingStyle( 
            /* [in] */ AcLineSpacingStyle Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextBackgroundFill( 
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextBackgroundFill( 
            /* [in] */ VARIANT_BOOL bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAttachmentDirection( 
            /* [retval][out] */ AcTextAttachmentDirection *dir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAttachmentDirection( 
            /* [in] */ AcTextAttachmentDirection dir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextLeftAttachmentType( 
            /* [retval][out] */ AcTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextLeftAttachmentType( 
            /* [in] */ AcTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRightAttachmentType( 
            /* [retval][out] */ AcTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextRightAttachmentType( 
            /* [in] */ AcTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextTopAttachmentType( 
            /* [retval][out] */ AcVerticalTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextTopAttachmentType( 
            /* [in] */ AcVerticalTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextBottomAttachmentType( 
            /* [retval][out] */ AcVerticalTextAttachmentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextBottomAttachmentType( 
            /* [in] */ AcVerticalTextAttachmentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LandingGap( 
            /* [retval][out] */ double *gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LandingGap( 
            /* [in] */ double gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ContentBlockType( 
            /* [retval][out] */ AcPredefBlockType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ContentBlockType( 
            /* [in] */ AcPredefBlockType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_LeaderCount( 
            /* [retval][out] */ int *number) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLeader( 
            /* [retval][out] */ int *leaderIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveLeader( 
            /* [in] */ int leaderIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLeaderLine( 
            /* [in] */ int leaderIndex,
            /* [in] */ VARIANT pointArray,
            /* [retval][out] */ int *leaderLineIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddLeaderLineEx( 
            /* [in] */ VARIANT pointArray,
            /* [retval][out] */ int *leaderLineIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveLeaderLine( 
            /* [in] */ int leaderLineIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetLeaderLineVertices( 
            /* [in] */ int leaderLineIndex,
            /* [in] */ VARIANT pointArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLeaderLineVertices( 
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ VARIANT *pointArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ContentType( 
            /* [in] */ AcMLeaderContentType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ContentType( 
            /* [retval][out] */ AcMLeaderContentType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLeaderIndex( 
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ int *leaderIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLeaderLineIndexes( 
            /* [in] */ int leaderIndex,
            /* [retval][out] */ VARIANT *leaderLineIndexes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetVertexCount( 
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ int *number) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextFrameDisplay( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextFrameDisplay( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDoglegDirection( 
            /* [in] */ int leaderIndex,
            /* [retval][out] */ VARIANT *dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDoglegDirection( 
            /* [in] */ int leaderIndex,
            /* [in] */ VARIANT dirVec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockAttributeValue( 
            /* [in] */ LONG_PTR attdefId,
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockAttributeValue( 
            /* [in] */ LONG_PTR attdefId,
            /* [in] */ BSTR value) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMLeaderVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMLeader * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMLeader * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMLeader * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMLeader * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMLeader * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMLeader * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMLeader * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMLeader * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMLeader * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMLeader * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMLeader * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMLeader * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMLeader * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMLeader * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMLeader * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMLeader * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMLeader * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadMLeader * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadMLeader * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadMLeader * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadMLeader * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadMLeader * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadMLeader * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadMLeader * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadMLeader * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadMLeader * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadMLeader * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadMLeader * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadMLeader * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadMLeader * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadMLeader * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadMLeader * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadMLeader * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadMLeader * This,
            /* [in] */ double scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcMLeaderType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderType )( 
            IAcadMLeader * This,
            /* [in] */ AcMLeaderType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineColor )( 
            IAcadMLeader * This,
            /* [retval][out] */ IAcadAcCmColor **Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineColor )( 
            IAcadMLeader * This,
            /* [in] */ IAcadAcCmColor *Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLinetype )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_LTYPE *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLinetype )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_LTYPE Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderLineWeight )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineWeight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLineWeight )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_LWEIGHT lineWeight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcDimArrowheadType *BlockName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadType )( 
            IAcadMLeader * This,
            /* [in] */ AcDimArrowheadType BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadMLeader * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DogLegged )( 
            IAcadMLeader * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DogLegged )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DoglegLength )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *doglegLength);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DoglegLength )( 
            IAcadMLeader * This,
            /* [in] */ double doglegLength);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentBlockName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContentBlockName )( 
            IAcadMLeader * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockConnectionType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcBlockConnectionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockConnectionType )( 
            IAcadMLeader * This,
            /* [in] */ AcBlockConnectionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockScale )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockScale )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadMLeader * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyleName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyleName )( 
            IAcadMLeader * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextJustify )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcAttachmentPoint *attPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextJustify )( 
            IAcadMLeader * This,
            /* [in] */ AcAttachmentPoint attPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextDirection )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcDrawingDirection *drawDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextDirection )( 
            IAcadMLeader * This,
            /* [in] */ AcDrawingDirection drawDir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextWidth )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextWidth )( 
            IAcadMLeader * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadMLeader * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadMLeader * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadMLeader * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextLineSpacingFactor )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *Factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextLineSpacingFactor )( 
            IAcadMLeader * This,
            /* [in] */ double Factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextLineSpacingDistance )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextLineSpacingDistance )( 
            IAcadMLeader * This,
            /* [in] */ double Value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextLineSpacingStyle )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcLineSpacingStyle *Style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextLineSpacingStyle )( 
            IAcadMLeader * This,
            /* [in] */ AcLineSpacingStyle Style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextBackgroundFill )( 
            IAcadMLeader * This,
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextBackgroundFill )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT_BOOL bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAttachmentDirection )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcTextAttachmentDirection *dir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAttachmentDirection )( 
            IAcadMLeader * This,
            /* [in] */ AcTextAttachmentDirection dir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextLeftAttachmentType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextLeftAttachmentType )( 
            IAcadMLeader * This,
            /* [in] */ AcTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRightAttachmentType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRightAttachmentType )( 
            IAcadMLeader * This,
            /* [in] */ AcTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextTopAttachmentType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcVerticalTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextTopAttachmentType )( 
            IAcadMLeader * This,
            /* [in] */ AcVerticalTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextBottomAttachmentType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcVerticalTextAttachmentType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextBottomAttachmentType )( 
            IAcadMLeader * This,
            /* [in] */ AcVerticalTextAttachmentType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LandingGap )( 
            IAcadMLeader * This,
            /* [retval][out] */ double *gap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LandingGap )( 
            IAcadMLeader * This,
            /* [in] */ double gap);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadBlock )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadBlock )( 
            IAcadMLeader * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentBlockType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcPredefBlockType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContentBlockType )( 
            IAcadMLeader * This,
            /* [in] */ AcPredefBlockType type);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LeaderCount )( 
            IAcadMLeader * This,
            /* [retval][out] */ int *number);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeader )( 
            IAcadMLeader * This,
            /* [retval][out] */ int *leaderIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveLeader )( 
            IAcadMLeader * This,
            /* [in] */ int leaderIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeaderLine )( 
            IAcadMLeader * This,
            /* [in] */ int leaderIndex,
            /* [in] */ VARIANT pointArray,
            /* [retval][out] */ int *leaderLineIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeaderLineEx )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT pointArray,
            /* [retval][out] */ int *leaderLineIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveLeaderLine )( 
            IAcadMLeader * This,
            /* [in] */ int leaderLineIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetLeaderLineVertices )( 
            IAcadMLeader * This,
            /* [in] */ int leaderLineIndex,
            /* [in] */ VARIANT pointArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLeaderLineVertices )( 
            IAcadMLeader * This,
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ VARIANT *pointArray);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContentType )( 
            IAcadMLeader * This,
            /* [in] */ AcMLeaderContentType type);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContentType )( 
            IAcadMLeader * This,
            /* [retval][out] */ AcMLeaderContentType *type);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLeaderIndex )( 
            IAcadMLeader * This,
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ int *leaderIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLeaderLineIndexes )( 
            IAcadMLeader * This,
            /* [in] */ int leaderIndex,
            /* [retval][out] */ VARIANT *leaderLineIndexes);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetVertexCount )( 
            IAcadMLeader * This,
            /* [in] */ int leaderLineIndex,
            /* [retval][out] */ int *number);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrameDisplay )( 
            IAcadMLeader * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFrameDisplay )( 
            IAcadMLeader * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadMLeader * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadMLeader * This,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDoglegDirection )( 
            IAcadMLeader * This,
            /* [in] */ int leaderIndex,
            /* [retval][out] */ VARIANT *dirVec);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDoglegDirection )( 
            IAcadMLeader * This,
            /* [in] */ int leaderIndex,
            /* [in] */ VARIANT dirVec);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockAttributeValue )( 
            IAcadMLeader * This,
            /* [in] */ LONG_PTR attdefId,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockAttributeValue )( 
            IAcadMLeader * This,
            /* [in] */ LONG_PTR attdefId,
            /* [in] */ BSTR value);
        
        END_INTERFACE
    } IAcadMLeaderVtbl;

    interface IAcadMLeader
    {
        CONST_VTBL struct IAcadMLeaderVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMLeader_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMLeader_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMLeader_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMLeader_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMLeader_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMLeader_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMLeader_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMLeader_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMLeader_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMLeader_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMLeader_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMLeader_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMLeader_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMLeader_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMLeader_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMLeader_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMLeader_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMLeader_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMLeader_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMLeader_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMLeader_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadMLeader_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadMLeader_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadMLeader_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadMLeader_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadMLeader_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadMLeader_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadMLeader_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadMLeader_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadMLeader_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadMLeader_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadMLeader_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadMLeader_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadMLeader_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadMLeader_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadMLeader_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadMLeader_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadMLeader_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadMLeader_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadMLeader_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadMLeader_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadMLeader_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadMLeader_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadMLeader_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadMLeader_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadMLeader_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadMLeader_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadMLeader_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadMLeader_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadMLeader_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadMLeader_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadMLeader_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadMLeader_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadMLeader_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadMLeader_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadMLeader_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadMLeader_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadMLeader_get_ScaleFactor(This,scale)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scale) ) 

#define IAcadMLeader_put_ScaleFactor(This,scale)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scale) ) 

#define IAcadMLeader_get_LeaderType(This,type)	\
    ( (This)->lpVtbl -> get_LeaderType(This,type) ) 

#define IAcadMLeader_put_LeaderType(This,type)	\
    ( (This)->lpVtbl -> put_LeaderType(This,type) ) 

#define IAcadMLeader_get_LeaderLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_LeaderLineColor(This,Type) ) 

#define IAcadMLeader_put_LeaderLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_LeaderLineColor(This,Type) ) 

#define IAcadMLeader_get_LeaderLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_LeaderLinetype(This,Linetype) ) 

#define IAcadMLeader_put_LeaderLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_LeaderLinetype(This,Linetype) ) 

#define IAcadMLeader_get_LeaderLineWeight(This,lineWeight)	\
    ( (This)->lpVtbl -> get_LeaderLineWeight(This,lineWeight) ) 

#define IAcadMLeader_put_LeaderLineWeight(This,lineWeight)	\
    ( (This)->lpVtbl -> put_LeaderLineWeight(This,lineWeight) ) 

#define IAcadMLeader_get_ArrowheadType(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadType(This,BlockName) ) 

#define IAcadMLeader_put_ArrowheadType(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadType(This,BlockName) ) 

#define IAcadMLeader_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadMLeader_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadMLeader_get_DogLegged(This,val)	\
    ( (This)->lpVtbl -> get_DogLegged(This,val) ) 

#define IAcadMLeader_put_DogLegged(This,newVal)	\
    ( (This)->lpVtbl -> put_DogLegged(This,newVal) ) 

#define IAcadMLeader_get_DoglegLength(This,doglegLength)	\
    ( (This)->lpVtbl -> get_DoglegLength(This,doglegLength) ) 

#define IAcadMLeader_put_DoglegLength(This,doglegLength)	\
    ( (This)->lpVtbl -> put_DoglegLength(This,doglegLength) ) 

#define IAcadMLeader_get_ContentBlockName(This,BlockName)	\
    ( (This)->lpVtbl -> get_ContentBlockName(This,BlockName) ) 

#define IAcadMLeader_put_ContentBlockName(This,BlockName)	\
    ( (This)->lpVtbl -> put_ContentBlockName(This,BlockName) ) 

#define IAcadMLeader_get_BlockConnectionType(This,type)	\
    ( (This)->lpVtbl -> get_BlockConnectionType(This,type) ) 

#define IAcadMLeader_put_BlockConnectionType(This,type)	\
    ( (This)->lpVtbl -> put_BlockConnectionType(This,type) ) 

#define IAcadMLeader_get_BlockScale(This,factor)	\
    ( (This)->lpVtbl -> get_BlockScale(This,factor) ) 

#define IAcadMLeader_put_BlockScale(This,factor)	\
    ( (This)->lpVtbl -> put_BlockScale(This,factor) ) 

#define IAcadMLeader_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadMLeader_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadMLeader_get_TextStyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_TextStyleName(This,bstrName) ) 

#define IAcadMLeader_put_TextStyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_TextStyleName(This,bstrName) ) 

#define IAcadMLeader_get_TextJustify(This,attPoint)	\
    ( (This)->lpVtbl -> get_TextJustify(This,attPoint) ) 

#define IAcadMLeader_put_TextJustify(This,attPoint)	\
    ( (This)->lpVtbl -> put_TextJustify(This,attPoint) ) 

#define IAcadMLeader_get_TextDirection(This,drawDir)	\
    ( (This)->lpVtbl -> get_TextDirection(This,drawDir) ) 

#define IAcadMLeader_put_TextDirection(This,drawDir)	\
    ( (This)->lpVtbl -> put_TextDirection(This,drawDir) ) 

#define IAcadMLeader_get_TextWidth(This,width)	\
    ( (This)->lpVtbl -> get_TextWidth(This,width) ) 

#define IAcadMLeader_put_TextWidth(This,width)	\
    ( (This)->lpVtbl -> put_TextWidth(This,width) ) 

#define IAcadMLeader_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadMLeader_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadMLeader_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadMLeader_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadMLeader_get_TextLineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> get_TextLineSpacingFactor(This,Factor) ) 

#define IAcadMLeader_put_TextLineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> put_TextLineSpacingFactor(This,Factor) ) 

#define IAcadMLeader_get_TextLineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> get_TextLineSpacingDistance(This,Value) ) 

#define IAcadMLeader_put_TextLineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> put_TextLineSpacingDistance(This,Value) ) 

#define IAcadMLeader_get_TextLineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> get_TextLineSpacingStyle(This,Style) ) 

#define IAcadMLeader_put_TextLineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> put_TextLineSpacingStyle(This,Style) ) 

#define IAcadMLeader_get_TextBackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> get_TextBackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadMLeader_put_TextBackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> put_TextBackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadMLeader_get_TextAttachmentDirection(This,dir)	\
    ( (This)->lpVtbl -> get_TextAttachmentDirection(This,dir) ) 

#define IAcadMLeader_put_TextAttachmentDirection(This,dir)	\
    ( (This)->lpVtbl -> put_TextAttachmentDirection(This,dir) ) 

#define IAcadMLeader_get_TextLeftAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextLeftAttachmentType(This,type) ) 

#define IAcadMLeader_put_TextLeftAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextLeftAttachmentType(This,type) ) 

#define IAcadMLeader_get_TextRightAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextRightAttachmentType(This,type) ) 

#define IAcadMLeader_put_TextRightAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextRightAttachmentType(This,type) ) 

#define IAcadMLeader_get_TextTopAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextTopAttachmentType(This,type) ) 

#define IAcadMLeader_put_TextTopAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextTopAttachmentType(This,type) ) 

#define IAcadMLeader_get_TextBottomAttachmentType(This,type)	\
    ( (This)->lpVtbl -> get_TextBottomAttachmentType(This,type) ) 

#define IAcadMLeader_put_TextBottomAttachmentType(This,type)	\
    ( (This)->lpVtbl -> put_TextBottomAttachmentType(This,type) ) 

#define IAcadMLeader_get_LandingGap(This,gap)	\
    ( (This)->lpVtbl -> get_LandingGap(This,gap) ) 

#define IAcadMLeader_put_LandingGap(This,gap)	\
    ( (This)->lpVtbl -> put_LandingGap(This,gap) ) 

#define IAcadMLeader_get_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName) ) 

#define IAcadMLeader_put_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName) ) 

#define IAcadMLeader_get_ContentBlockType(This,type)	\
    ( (This)->lpVtbl -> get_ContentBlockType(This,type) ) 

#define IAcadMLeader_put_ContentBlockType(This,type)	\
    ( (This)->lpVtbl -> put_ContentBlockType(This,type) ) 

#define IAcadMLeader_get_LeaderCount(This,number)	\
    ( (This)->lpVtbl -> get_LeaderCount(This,number) ) 

#define IAcadMLeader_AddLeader(This,leaderIndex)	\
    ( (This)->lpVtbl -> AddLeader(This,leaderIndex) ) 

#define IAcadMLeader_RemoveLeader(This,leaderIndex)	\
    ( (This)->lpVtbl -> RemoveLeader(This,leaderIndex) ) 

#define IAcadMLeader_AddLeaderLine(This,leaderIndex,pointArray,leaderLineIndex)	\
    ( (This)->lpVtbl -> AddLeaderLine(This,leaderIndex,pointArray,leaderLineIndex) ) 

#define IAcadMLeader_AddLeaderLineEx(This,pointArray,leaderLineIndex)	\
    ( (This)->lpVtbl -> AddLeaderLineEx(This,pointArray,leaderLineIndex) ) 

#define IAcadMLeader_RemoveLeaderLine(This,leaderLineIndex)	\
    ( (This)->lpVtbl -> RemoveLeaderLine(This,leaderLineIndex) ) 

#define IAcadMLeader_SetLeaderLineVertices(This,leaderLineIndex,pointArray)	\
    ( (This)->lpVtbl -> SetLeaderLineVertices(This,leaderLineIndex,pointArray) ) 

#define IAcadMLeader_GetLeaderLineVertices(This,leaderLineIndex,pointArray)	\
    ( (This)->lpVtbl -> GetLeaderLineVertices(This,leaderLineIndex,pointArray) ) 

#define IAcadMLeader_put_ContentType(This,type)	\
    ( (This)->lpVtbl -> put_ContentType(This,type) ) 

#define IAcadMLeader_get_ContentType(This,type)	\
    ( (This)->lpVtbl -> get_ContentType(This,type) ) 

#define IAcadMLeader_GetLeaderIndex(This,leaderLineIndex,leaderIndex)	\
    ( (This)->lpVtbl -> GetLeaderIndex(This,leaderLineIndex,leaderIndex) ) 

#define IAcadMLeader_GetLeaderLineIndexes(This,leaderIndex,leaderLineIndexes)	\
    ( (This)->lpVtbl -> GetLeaderLineIndexes(This,leaderIndex,leaderLineIndexes) ) 

#define IAcadMLeader_GetVertexCount(This,leaderLineIndex,number)	\
    ( (This)->lpVtbl -> GetVertexCount(This,leaderLineIndex,number) ) 

#define IAcadMLeader_get_TextFrameDisplay(This,pVal)	\
    ( (This)->lpVtbl -> get_TextFrameDisplay(This,pVal) ) 

#define IAcadMLeader_put_TextFrameDisplay(This,newVal)	\
    ( (This)->lpVtbl -> put_TextFrameDisplay(This,newVal) ) 

#define IAcadMLeader_get_StyleName(This,name)	\
    ( (This)->lpVtbl -> get_StyleName(This,name) ) 

#define IAcadMLeader_put_StyleName(This,name)	\
    ( (This)->lpVtbl -> put_StyleName(This,name) ) 

#define IAcadMLeader_GetDoglegDirection(This,leaderIndex,dirVec)	\
    ( (This)->lpVtbl -> GetDoglegDirection(This,leaderIndex,dirVec) ) 

#define IAcadMLeader_SetDoglegDirection(This,leaderIndex,dirVec)	\
    ( (This)->lpVtbl -> SetDoglegDirection(This,leaderIndex,dirVec) ) 

#define IAcadMLeader_GetBlockAttributeValue(This,attdefId,value)	\
    ( (This)->lpVtbl -> GetBlockAttributeValue(This,attdefId,value) ) 

#define IAcadMLeader_SetBlockAttributeValue(This,attdefId,value)	\
    ( (This)->lpVtbl -> SetBlockAttributeValue(This,attdefId,value) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_get_ContentType_Proxy( 
    IAcadMLeader * This,
    /* [retval][out] */ AcMLeaderContentType *type);


void __RPC_STUB IAcadMLeader_get_ContentType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_GetLeaderIndex_Proxy( 
    IAcadMLeader * This,
    /* [in] */ int leaderLineIndex,
    /* [retval][out] */ int *leaderIndex);


void __RPC_STUB IAcadMLeader_GetLeaderIndex_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_GetLeaderLineIndexes_Proxy( 
    IAcadMLeader * This,
    /* [in] */ int leaderIndex,
    /* [retval][out] */ VARIANT *leaderLineIndexes);


void __RPC_STUB IAcadMLeader_GetLeaderLineIndexes_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_GetVertexCount_Proxy( 
    IAcadMLeader * This,
    /* [in] */ int leaderLineIndex,
    /* [retval][out] */ int *number);


void __RPC_STUB IAcadMLeader_GetVertexCount_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_get_TextFrameDisplay_Proxy( 
    IAcadMLeader * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IAcadMLeader_get_TextFrameDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_put_TextFrameDisplay_Proxy( 
    IAcadMLeader * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IAcadMLeader_put_TextFrameDisplay_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_get_StyleName_Proxy( 
    IAcadMLeader * This,
    /* [retval][out] */ BSTR *name);


void __RPC_STUB IAcadMLeader_get_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_put_StyleName_Proxy( 
    IAcadMLeader * This,
    /* [in] */ BSTR name);


void __RPC_STUB IAcadMLeader_put_StyleName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_GetDoglegDirection_Proxy( 
    IAcadMLeader * This,
    /* [in] */ int leaderIndex,
    /* [retval][out] */ VARIANT *dirVec);


void __RPC_STUB IAcadMLeader_GetDoglegDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_SetDoglegDirection_Proxy( 
    IAcadMLeader * This,
    /* [in] */ int leaderIndex,
    /* [in] */ VARIANT dirVec);


void __RPC_STUB IAcadMLeader_SetDoglegDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_GetBlockAttributeValue_Proxy( 
    IAcadMLeader * This,
    /* [in] */ LONG_PTR attdefId,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadMLeader_GetBlockAttributeValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadMLeader_SetBlockAttributeValue_Proxy( 
    IAcadMLeader * This,
    /* [in] */ LONG_PTR attdefId,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadMLeader_SetBlockAttributeValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadMLeader_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMLeader,0x95C9299B,0x0929,0x43CA,0x87,0x62,0x5A,0x22,0xB8,0xB1,0xE4,0x89);

#ifdef __cplusplus

class DECLSPEC_UUID("95C9299B-0929-43CA-8762-5A22B8B1E489")
AcadMLeader;
#endif

#ifndef __IAcadLWPolyline_INTERFACE_DEFINED__
#define __IAcadLWPolyline_INTERFACE_DEFINED__

/* interface IAcadLWPolyline */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLWPolyline,0xDF149EA1,0x3A10,0x4529,0xA6,0x5B,0x13,0x82,0x7E,0x9D,0xCA,0xA6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("DF149EA1-3A10-4529-A65B-13827E9DCAA6")
    IAcadLWPolyline : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddVertex( 
            /* [in] */ int Index,
            /* [in] */ VARIANT Vertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBulge( 
            /* [in] */ int index,
            /* [retval][out] */ double *bulge) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBulge( 
            /* [in] */ int index,
            /* [in] */ double bulge) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [in] */ int index,
            /* [out] */ double *StartWidth,
            /* [out] */ double *EndWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetWidth( 
            /* [in] */ int index,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConstantWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConstantWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Elevation( 
            /* [retval][out] */ double *elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Elevation( 
            /* [in] */ double elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL *fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinetypeGeneration( 
            /* [retval][out] */ VARIANT_BOOL *bLinetypeGen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinetypeGeneration( 
            /* [in] */ VARIANT_BOOL bLinetypeGen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double *length) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLWPolylineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLWPolyline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLWPolyline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLWPolyline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLWPolyline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLWPolyline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLWPolyline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLWPolyline * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLWPolyline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLWPolyline * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadLWPolyline * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadLWPolyline * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadLWPolyline * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadLWPolyline * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadLWPolyline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadLWPolyline * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadLWPolyline * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadLWPolyline * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadLWPolyline * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadLWPolyline * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadLWPolyline * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddVertex )( 
            IAcadLWPolyline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT Vertex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBulge )( 
            IAcadLWPolyline * This,
            /* [in] */ int index,
            /* [retval][out] */ double *bulge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBulge )( 
            IAcadLWPolyline * This,
            /* [in] */ int index,
            /* [in] */ double bulge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetWidth )( 
            IAcadLWPolyline * This,
            /* [in] */ int index,
            /* [out] */ double *StartWidth,
            /* [out] */ double *EndWidth);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetWidth )( 
            IAcadLWPolyline * This,
            /* [in] */ int index,
            /* [in] */ double StartWidth,
            /* [in] */ double EndWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConstantWidth )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConstantWidth )( 
            IAcadLWPolyline * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadLWPolyline * This,
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IAcadLWPolyline * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadLWPolyline * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadLWPolyline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *fClose);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Closed )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT_BOOL fClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeGeneration )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bLinetypeGen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeGeneration )( 
            IAcadLWPolyline * This,
            /* [in] */ VARIANT_BOOL bLinetypeGen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcadLWPolyline * This,
            /* [retval][out] */ double *length);
        
        END_INTERFACE
    } IAcadLWPolylineVtbl;

    interface IAcadLWPolyline
    {
        CONST_VTBL struct IAcadLWPolylineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLWPolyline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLWPolyline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLWPolyline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLWPolyline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLWPolyline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLWPolyline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLWPolyline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLWPolyline_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLWPolyline_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLWPolyline_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLWPolyline_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLWPolyline_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLWPolyline_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLWPolyline_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLWPolyline_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLWPolyline_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLWPolyline_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLWPolyline_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLWPolyline_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLWPolyline_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLWPolyline_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadLWPolyline_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadLWPolyline_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadLWPolyline_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadLWPolyline_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadLWPolyline_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadLWPolyline_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadLWPolyline_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadLWPolyline_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadLWPolyline_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadLWPolyline_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadLWPolyline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadLWPolyline_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadLWPolyline_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadLWPolyline_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadLWPolyline_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadLWPolyline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadLWPolyline_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadLWPolyline_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadLWPolyline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadLWPolyline_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadLWPolyline_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadLWPolyline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadLWPolyline_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadLWPolyline_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadLWPolyline_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadLWPolyline_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadLWPolyline_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadLWPolyline_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadLWPolyline_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadLWPolyline_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadLWPolyline_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadLWPolyline_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadLWPolyline_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadLWPolyline_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadLWPolyline_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadLWPolyline_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadLWPolyline_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcadLWPolyline_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcadLWPolyline_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadLWPolyline_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadLWPolyline_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadLWPolyline_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadLWPolyline_AddVertex(This,Index,Vertex)	\
    ( (This)->lpVtbl -> AddVertex(This,Index,Vertex) ) 

#define IAcadLWPolyline_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadLWPolyline_GetBulge(This,index,bulge)	\
    ( (This)->lpVtbl -> GetBulge(This,index,bulge) ) 

#define IAcadLWPolyline_SetBulge(This,index,bulge)	\
    ( (This)->lpVtbl -> SetBulge(This,index,bulge) ) 

#define IAcadLWPolyline_GetWidth(This,index,StartWidth,EndWidth)	\
    ( (This)->lpVtbl -> GetWidth(This,index,StartWidth,EndWidth) ) 

#define IAcadLWPolyline_SetWidth(This,index,StartWidth,EndWidth)	\
    ( (This)->lpVtbl -> SetWidth(This,index,StartWidth,EndWidth) ) 

#define IAcadLWPolyline_get_ConstantWidth(This,width)	\
    ( (This)->lpVtbl -> get_ConstantWidth(This,width) ) 

#define IAcadLWPolyline_put_ConstantWidth(This,width)	\
    ( (This)->lpVtbl -> put_ConstantWidth(This,width) ) 

#define IAcadLWPolyline_Offset(This,distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,distance,pOffsetCurves) ) 

#define IAcadLWPolyline_get_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> get_Elevation(This,elevation) ) 

#define IAcadLWPolyline_put_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> put_Elevation(This,elevation) ) 

#define IAcadLWPolyline_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadLWPolyline_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadLWPolyline_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcadLWPolyline_get_Closed(This,fClose)	\
    ( (This)->lpVtbl -> get_Closed(This,fClose) ) 

#define IAcadLWPolyline_put_Closed(This,fClose)	\
    ( (This)->lpVtbl -> put_Closed(This,fClose) ) 

#define IAcadLWPolyline_get_LinetypeGeneration(This,bLinetypeGen)	\
    ( (This)->lpVtbl -> get_LinetypeGeneration(This,bLinetypeGen) ) 

#define IAcadLWPolyline_put_LinetypeGeneration(This,bLinetypeGen)	\
    ( (This)->lpVtbl -> put_LinetypeGeneration(This,bLinetypeGen) ) 

#define IAcadLWPolyline_get_Length(This,length)	\
    ( (This)->lpVtbl -> get_Length(This,length) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLWPolyline_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLWPolyline,0x41FBC9BB,0x92F9,0x4375,0x98,0x95,0x4F,0x71,0xD9,0xA2,0xB2,0x08);

#ifdef __cplusplus

class DECLSPEC_UUID("41FBC9BB-92F9-4375-9895-4F71D9A2B208")
AcadLWPolyline;
#endif

#ifndef __IAcadLine_INTERFACE_DEFINED__
#define __IAcadLine_INTERFACE_DEFINED__

/* interface IAcadLine */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLine,0x677DEDCC,0x260D,0x4259,0x9C,0xB6,0x40,0x3C,0x70,0x6B,0x75,0x17);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("677DEDCC-260D-4259-9CB6-403C706B7517")
    IAcadLine : public IAcadEntity
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartPoint( 
            /* [retval][out] */ VARIANT *startPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartPoint( 
            /* [in] */ VARIANT startPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndPoint( 
            /* [retval][out] */ VARIANT *endPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndPoint( 
            /* [in] */ VARIANT endPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Delta( 
            /* [retval][out] */ VARIANT *delta) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double *length) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Angle( 
            /* [retval][out] */ ACAD_ANGLE *angle) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLine * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLine * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLine * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLine * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLine * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLine * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLine * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLine * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLine * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLine * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLine * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLine * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLine * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLine * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadLine * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadLine * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadLine * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadLine * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadLine * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadLine * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadLine * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadLine * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadLine * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadLine * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadLine * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadLine * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadLine * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadLine * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadLine * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadLine * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadLine * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadLine * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadLine * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadLine * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadLine * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadLine * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadLine * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadLine * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadLine * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadLine * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadLine * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadLine * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadLine * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadLine * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadLine * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartPoint )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT *startPoint);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartPoint )( 
            IAcadLine * This,
            /* [in] */ VARIANT startPoint);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndPoint )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndPoint )( 
            IAcadLine * This,
            /* [in] */ VARIANT endPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadLine * This,
            /* [in] */ VARIANT normal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadLine * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadLine * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadLine * This,
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Delta )( 
            IAcadLine * This,
            /* [retval][out] */ VARIANT *delta);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcadLine * This,
            /* [retval][out] */ double *length);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Angle )( 
            IAcadLine * This,
            /* [retval][out] */ ACAD_ANGLE *angle);
        
        END_INTERFACE
    } IAcadLineVtbl;

    interface IAcadLine
    {
        CONST_VTBL struct IAcadLineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLine_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLine_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLine_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLine_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLine_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLine_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLine_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLine_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLine_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLine_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLine_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLine_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLine_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLine_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLine_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLine_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLine_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLine_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadLine_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadLine_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadLine_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadLine_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadLine_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadLine_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadLine_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadLine_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadLine_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadLine_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadLine_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadLine_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadLine_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadLine_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadLine_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadLine_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadLine_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadLine_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadLine_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadLine_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadLine_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadLine_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadLine_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadLine_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadLine_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadLine_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadLine_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadLine_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadLine_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadLine_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadLine_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadLine_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadLine_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadLine_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadLine_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadLine_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadLine_get_StartPoint(This,startPoint)	\
    ( (This)->lpVtbl -> get_StartPoint(This,startPoint) ) 

#define IAcadLine_put_StartPoint(This,startPoint)	\
    ( (This)->lpVtbl -> put_StartPoint(This,startPoint) ) 

#define IAcadLine_get_EndPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_EndPoint(This,endPoint) ) 

#define IAcadLine_put_EndPoint(This,endPoint)	\
    ( (This)->lpVtbl -> put_EndPoint(This,endPoint) ) 

#define IAcadLine_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadLine_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadLine_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadLine_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadLine_Offset(This,distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,distance,pOffsetCurves) ) 

#define IAcadLine_get_Delta(This,delta)	\
    ( (This)->lpVtbl -> get_Delta(This,delta) ) 

#define IAcadLine_get_Length(This,length)	\
    ( (This)->lpVtbl -> get_Length(This,length) ) 

#define IAcadLine_get_Angle(This,angle)	\
    ( (This)->lpVtbl -> get_Angle(This,angle) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLine_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLine,0x9BE645E1,0xBBD9,0x4BC1,0xBF,0xF6,0x98,0x9F,0xCC,0xEB,0xBC,0xAC);

#ifdef __cplusplus

class DECLSPEC_UUID("9BE645E1-BBD9-4BC1-BFF6-989FCCEBBCAC")
AcadLine;
#endif

#ifndef __IAcadMText_INTERFACE_DEFINED__
#define __IAcadMText_INTERFACE_DEFINED__

/* interface IAcadMText */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMText,0x28254420,0xEC1E,0x4D34,0xB3,0x7D,0x80,0x14,0xEC,0xC3,0x72,0x53);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("28254420-EC1E-4D34-B37D-8014ECC37253")
    IAcadMText : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AttachmentPoint( 
            /* [retval][out] */ AcAttachmentPoint *attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AttachmentPoint( 
            /* [in] */ AcAttachmentPoint attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawingDirection( 
            /* [retval][out] */ AcDrawingDirection *drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawingDirection( 
            /* [in] */ AcDrawingDirection drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingFactor( 
            /* [retval][out] */ double *Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingFactor( 
            /* [in] */ double Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingStyle( 
            /* [retval][out] */ AcLineSpacingStyle *Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingStyle( 
            /* [in] */ AcLineSpacingStyle Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingDistance( 
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingDistance( 
            /* [in] */ double Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundFill( 
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundFill( 
            /* [in] */ VARIANT_BOOL bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE FieldCode( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMTextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMText * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMText * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMText * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMText * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMText * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMText * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMText * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMText * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMText * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMText * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMText * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMText * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMText * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMText * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMText * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMText * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMText * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMText * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadMText * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadMText * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadMText * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadMText * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadMText * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadMText * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadMText * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadMText * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadMText * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadMText * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadMText * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadMText * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadMText * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadMText * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadMText * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadMText * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadMText * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadMText * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadMText * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadMText * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadMText * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadMText * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadMText * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadMText * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadMText * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadMText * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadMText * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadMText * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadMText * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadMText * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadMText * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadMText * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadMText * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AttachmentPoint )( 
            IAcadMText * This,
            /* [retval][out] */ AcAttachmentPoint *attPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AttachmentPoint )( 
            IAcadMText * This,
            /* [in] */ AcAttachmentPoint attPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DrawingDirection )( 
            IAcadMText * This,
            /* [retval][out] */ AcDrawingDirection *drawDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DrawingDirection )( 
            IAcadMText * This,
            /* [in] */ AcDrawingDirection drawDir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadMText * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadMText * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadMText * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadMText * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadMText * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadMText * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadMText * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadMText * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadMText * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadMText * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingFactor )( 
            IAcadMText * This,
            /* [retval][out] */ double *Factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingFactor )( 
            IAcadMText * This,
            /* [in] */ double Factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingStyle )( 
            IAcadMText * This,
            /* [retval][out] */ AcLineSpacingStyle *Style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingStyle )( 
            IAcadMText * This,
            /* [in] */ AcLineSpacingStyle Style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingDistance )( 
            IAcadMText * This,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingDistance )( 
            IAcadMText * This,
            /* [in] */ double Value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundFill )( 
            IAcadMText * This,
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundFill )( 
            IAcadMText * This,
            /* [in] */ VARIANT_BOOL bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FieldCode )( 
            IAcadMText * This,
            /* [retval][out] */ BSTR *bstrText);
        
        END_INTERFACE
    } IAcadMTextVtbl;

    interface IAcadMText
    {
        CONST_VTBL struct IAcadMTextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMText_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMText_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMText_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMText_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMText_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMText_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMText_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMText_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMText_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMText_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMText_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMText_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMText_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMText_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMText_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMText_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMText_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMText_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadMText_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadMText_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadMText_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadMText_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadMText_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadMText_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadMText_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadMText_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadMText_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadMText_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadMText_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadMText_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadMText_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadMText_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadMText_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadMText_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadMText_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadMText_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadMText_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadMText_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadMText_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadMText_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadMText_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadMText_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadMText_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadMText_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadMText_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadMText_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadMText_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadMText_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadMText_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadMText_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadMText_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadMText_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadMText_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadMText_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadMText_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadMText_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadMText_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadMText_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadMText_get_AttachmentPoint(This,attPoint)	\
    ( (This)->lpVtbl -> get_AttachmentPoint(This,attPoint) ) 

#define IAcadMText_put_AttachmentPoint(This,attPoint)	\
    ( (This)->lpVtbl -> put_AttachmentPoint(This,attPoint) ) 

#define IAcadMText_get_DrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> get_DrawingDirection(This,drawDir) ) 

#define IAcadMText_put_DrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> put_DrawingDirection(This,drawDir) ) 

#define IAcadMText_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadMText_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadMText_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadMText_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadMText_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadMText_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadMText_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadMText_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadMText_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadMText_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadMText_get_LineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> get_LineSpacingFactor(This,Factor) ) 

#define IAcadMText_put_LineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> put_LineSpacingFactor(This,Factor) ) 

#define IAcadMText_get_LineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> get_LineSpacingStyle(This,Style) ) 

#define IAcadMText_put_LineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> put_LineSpacingStyle(This,Style) ) 

#define IAcadMText_get_LineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> get_LineSpacingDistance(This,Value) ) 

#define IAcadMText_put_LineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> put_LineSpacingDistance(This,Value) ) 

#define IAcadMText_get_BackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> get_BackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadMText_put_BackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> put_BackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadMText_FieldCode(This,bstrText)	\
    ( (This)->lpVtbl -> FieldCode(This,bstrText) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMText_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMText,0x73165417,0xC292,0x4E70,0x86,0x76,0xAE,0xEF,0x66,0x75,0x79,0x56);

#ifdef __cplusplus

class DECLSPEC_UUID("73165417-C292-4E70-8676-AEEF66757956")
AcadMText;
#endif

#ifndef __IAcadPoint_INTERFACE_DEFINED__
#define __IAcadPoint_INTERFACE_DEFINED__

/* interface IAcadPoint */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPoint,0x073BD678,0x49DC,0x4EB5,0xBC,0xE6,0x0C,0xF0,0xDC,0x9C,0xAB,0xE2);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("073BD678-49DC-4EB5-BCE6-0CF0DC9CABE2")
    IAcadPoint : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPointVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPoint * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPoint * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPoint * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPoint * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPoint * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPoint * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPoint * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPoint * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPoint * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPoint * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPoint * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPoint * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPoint * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPoint * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPoint * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPoint * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPoint * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPoint * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPoint * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPoint * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPoint * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPoint * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPoint * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPoint * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPoint * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPoint * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPoint * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPoint * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPoint * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPoint * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPoint * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPoint * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPoint * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPoint * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPoint * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPoint * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPoint * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPoint * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPoint * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPoint * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPoint * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPoint * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPoint * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPoint * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPoint * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPoint * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPoint * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPoint * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPoint * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPoint * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadPoint * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadPoint * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadPoint * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadPoint * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadPoint * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadPoint * This,
            /* [in] */ double thickness);
        
        END_INTERFACE
    } IAcadPointVtbl;

    interface IAcadPoint
    {
        CONST_VTBL struct IAcadPointVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPoint_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPoint_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPoint_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPoint_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPoint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPoint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPoint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPoint_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPoint_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPoint_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPoint_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPoint_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPoint_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPoint_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPoint_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPoint_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPoint_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPoint_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPoint_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPoint_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPoint_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPoint_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPoint_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPoint_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPoint_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPoint_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPoint_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPoint_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPoint_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPoint_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPoint_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPoint_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPoint_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPoint_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPoint_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPoint_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPoint_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPoint_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPoint_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPoint_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPoint_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPoint_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPoint_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPoint_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPoint_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPoint_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPoint_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPoint_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPoint_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPoint_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPoint_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPoint_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPoint_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPoint_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPoint_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPoint_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPoint_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPoint_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcadPoint_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcadPoint_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadPoint_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadPoint_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadPoint_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPoint_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPoint,0x5A41C328,0x9E56,0x4CF3,0x81,0xD7,0xC9,0xC7,0x60,0x1D,0x3C,0xC7);

#ifdef __cplusplus

class DECLSPEC_UUID("5A41C328-9E56-4CF3-81D7-C9C7601D3CC7")
AcadPoint;
#endif

#ifndef __IAcadPolyline_INTERFACE_DEFINED__
#define __IAcadPolyline_INTERFACE_DEFINED__

/* interface IAcadPolyline */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPolyline,0xB8B22B1F,0x7836,0x4C17,0xA0,0x76,0x01,0x42,0xBF,0xB5,0x76,0xC8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B8B22B1F-7836-4C17-A076-0142BFB576C8")
    IAcadPolyline : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ VARIANT vertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBulge( 
            /* [in] */ int index,
            /* [retval][out] */ double *bulge) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBulge( 
            /* [in] */ int index,
            /* [in] */ double bulge) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetWidth( 
            /* [in] */ int Index,
            /* [out] */ double *StartWidth,
            double *EndWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetWidth( 
            /* [in] */ int Index,
            /* [in] */ double StartWidth,
            double EndWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ConstantWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ConstantWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Elevation( 
            /* [retval][out] */ double *elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Elevation( 
            /* [in] */ double elevation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcPolylineType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ AcPolylineType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL *fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinetypeGeneration( 
            /* [retval][out] */ VARIANT_BOOL *bLinetypeGen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinetypeGeneration( 
            /* [in] */ VARIANT_BOOL bLinetypeGen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double *length) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPolylineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPolyline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPolyline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPolyline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPolyline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPolyline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPolyline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPolyline * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPolyline * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPolyline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPolyline * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPolyline * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPolyline * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPolyline * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPolyline * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPolyline * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPolyline * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPolyline * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPolyline * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPolyline * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPolyline * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPolyline * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPolyline * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPolyline * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPolyline * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPolyline * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPolyline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPolyline * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPolyline * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPolyline * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPolyline * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPolyline * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPolyline * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPolyline * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPolyline * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPolyline * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPolyline * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPolyline * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPolyline * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadPolyline * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadPolyline * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendVertex )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT vertex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBulge )( 
            IAcadPolyline * This,
            /* [in] */ int index,
            /* [retval][out] */ double *bulge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBulge )( 
            IAcadPolyline * This,
            /* [in] */ int index,
            /* [in] */ double bulge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetWidth )( 
            IAcadPolyline * This,
            /* [in] */ int Index,
            /* [out] */ double *StartWidth,
            double *EndWidth);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetWidth )( 
            IAcadPolyline * This,
            /* [in] */ int Index,
            /* [in] */ double StartWidth,
            double EndWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConstantWidth )( 
            IAcadPolyline * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ConstantWidth )( 
            IAcadPolyline * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadPolyline * This,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IAcadPolyline * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IAcadPolyline * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadPolyline * This,
            /* [retval][out] */ AcPolylineType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IAcadPolyline * This,
            /* [in] */ AcPolylineType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *fClose);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Closed )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT_BOOL fClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeGeneration )( 
            IAcadPolyline * This,
            /* [retval][out] */ VARIANT_BOOL *bLinetypeGen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeGeneration )( 
            IAcadPolyline * This,
            /* [in] */ VARIANT_BOOL bLinetypeGen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadPolyline * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadPolyline * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadPolyline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcadPolyline * This,
            /* [retval][out] */ double *length);
        
        END_INTERFACE
    } IAcadPolylineVtbl;

    interface IAcadPolyline
    {
        CONST_VTBL struct IAcadPolylineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPolyline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPolyline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPolyline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPolyline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPolyline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPolyline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPolyline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPolyline_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPolyline_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPolyline_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPolyline_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPolyline_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPolyline_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPolyline_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPolyline_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPolyline_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPolyline_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPolyline_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPolyline_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPolyline_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPolyline_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPolyline_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPolyline_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPolyline_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPolyline_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPolyline_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPolyline_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPolyline_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPolyline_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPolyline_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPolyline_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPolyline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPolyline_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPolyline_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPolyline_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPolyline_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPolyline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPolyline_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPolyline_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPolyline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPolyline_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPolyline_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPolyline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPolyline_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPolyline_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPolyline_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPolyline_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPolyline_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPolyline_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPolyline_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPolyline_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPolyline_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPolyline_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPolyline_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPolyline_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPolyline_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPolyline_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPolyline_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcadPolyline_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcadPolyline_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadPolyline_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadPolyline_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadPolyline_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadPolyline_AppendVertex(This,vertex)	\
    ( (This)->lpVtbl -> AppendVertex(This,vertex) ) 

#define IAcadPolyline_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadPolyline_GetBulge(This,index,bulge)	\
    ( (This)->lpVtbl -> GetBulge(This,index,bulge) ) 

#define IAcadPolyline_SetBulge(This,index,bulge)	\
    ( (This)->lpVtbl -> SetBulge(This,index,bulge) ) 

#define IAcadPolyline_GetWidth(This,Index,StartWidth,EndWidth)	\
    ( (This)->lpVtbl -> GetWidth(This,Index,StartWidth,EndWidth) ) 

#define IAcadPolyline_SetWidth(This,Index,StartWidth,EndWidth)	\
    ( (This)->lpVtbl -> SetWidth(This,Index,StartWidth,EndWidth) ) 

#define IAcadPolyline_get_ConstantWidth(This,width)	\
    ( (This)->lpVtbl -> get_ConstantWidth(This,width) ) 

#define IAcadPolyline_put_ConstantWidth(This,width)	\
    ( (This)->lpVtbl -> put_ConstantWidth(This,width) ) 

#define IAcadPolyline_Offset(This,Distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,Distance,pOffsetCurves) ) 

#define IAcadPolyline_get_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> get_Elevation(This,elevation) ) 

#define IAcadPolyline_put_Elevation(This,elevation)	\
    ( (This)->lpVtbl -> put_Elevation(This,elevation) ) 

#define IAcadPolyline_get_Type(This,type)	\
    ( (This)->lpVtbl -> get_Type(This,type) ) 

#define IAcadPolyline_put_Type(This,type)	\
    ( (This)->lpVtbl -> put_Type(This,type) ) 

#define IAcadPolyline_get_Closed(This,fClose)	\
    ( (This)->lpVtbl -> get_Closed(This,fClose) ) 

#define IAcadPolyline_put_Closed(This,fClose)	\
    ( (This)->lpVtbl -> put_Closed(This,fClose) ) 

#define IAcadPolyline_get_LinetypeGeneration(This,bLinetypeGen)	\
    ( (This)->lpVtbl -> get_LinetypeGeneration(This,bLinetypeGen) ) 

#define IAcadPolyline_put_LinetypeGeneration(This,bLinetypeGen)	\
    ( (This)->lpVtbl -> put_LinetypeGeneration(This,bLinetypeGen) ) 

#define IAcadPolyline_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadPolyline_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadPolyline_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcadPolyline_get_Length(This,length)	\
    ( (This)->lpVtbl -> get_Length(This,length) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPolyline_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPolyline,0xF2ADAC45,0x3C69,0x4215,0xAB,0x0A,0x5F,0x34,0xE8,0x52,0xA9,0x76);

#ifdef __cplusplus

class DECLSPEC_UUID("F2ADAC45-3C69-4215-AB0A-5F34E852A976")
AcadPolyline;
#endif

#ifndef __IAcadPolygonMesh_INTERFACE_DEFINED__
#define __IAcadPolygonMesh_INTERFACE_DEFINED__

/* interface IAcadPolygonMesh */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPolygonMesh,0xF852354F,0x541A,0x4C22,0xB5,0xEB,0xC0,0x22,0x44,0x7C,0x6D,0x91);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F852354F-541A-4C22-B5EB-C022447C6D91")
    IAcadPolygonMesh : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coordinates) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MClose( 
            /* [retval][out] */ VARIANT_BOOL *bClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MClose( 
            /* [in] */ VARIANT_BOOL bClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NClose( 
            /* [retval][out] */ VARIANT_BOOL *bClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_NClose( 
            /* [in] */ VARIANT_BOOL bClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MDensity( 
            /* [retval][out] */ long *density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MDensity( 
            /* [in] */ long density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NDensity( 
            /* [retval][out] */ long *density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_NDensity( 
            /* [in] */ long density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MVertexCount( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NVertexCount( 
            /* [retval][out] */ long *Count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcPolymeshType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
            /* [in] */ AcPolymeshType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AppendVertex( 
            /* [in] */ VARIANT vertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Explode( 
            /* [retval][out] */ VARIANT *pArrayObjs) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPolygonMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPolygonMesh * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPolygonMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPolygonMesh * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPolygonMesh * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPolygonMesh * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPolygonMesh * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPolygonMesh * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPolygonMesh * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPolygonMesh * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPolygonMesh * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPolygonMesh * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPolygonMesh * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPolygonMesh * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPolygonMesh * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPolygonMesh * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPolygonMesh * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPolygonMesh * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPolygonMesh * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPolygonMesh * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT *coordinates);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT coordinates);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MClose )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bClose);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MClose )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT_BOOL bClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NClose )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bClose);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NClose )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT_BOOL bClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MDensity )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MDensity )( 
            IAcadPolygonMesh * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NDensity )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NDensity )( 
            IAcadPolygonMesh * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MVertexCount )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ long *Count);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NVertexCount )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ long *Count);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ AcPolymeshType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
            IAcadPolygonMesh * This,
            /* [in] */ AcPolymeshType type);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AppendVertex )( 
            IAcadPolygonMesh * This,
            /* [in] */ VARIANT vertex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadPolygonMesh * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadPolygonMesh * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadPolygonMesh * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        END_INTERFACE
    } IAcadPolygonMeshVtbl;

    interface IAcadPolygonMesh
    {
        CONST_VTBL struct IAcadPolygonMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPolygonMesh_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPolygonMesh_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPolygonMesh_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPolygonMesh_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPolygonMesh_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPolygonMesh_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPolygonMesh_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPolygonMesh_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPolygonMesh_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPolygonMesh_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPolygonMesh_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPolygonMesh_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPolygonMesh_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPolygonMesh_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPolygonMesh_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPolygonMesh_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPolygonMesh_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPolygonMesh_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPolygonMesh_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPolygonMesh_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPolygonMesh_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPolygonMesh_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPolygonMesh_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPolygonMesh_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPolygonMesh_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPolygonMesh_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPolygonMesh_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPolygonMesh_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPolygonMesh_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPolygonMesh_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPolygonMesh_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPolygonMesh_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPolygonMesh_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPolygonMesh_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPolygonMesh_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPolygonMesh_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPolygonMesh_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPolygonMesh_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPolygonMesh_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPolygonMesh_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPolygonMesh_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPolygonMesh_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPolygonMesh_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPolygonMesh_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPolygonMesh_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPolygonMesh_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPolygonMesh_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPolygonMesh_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPolygonMesh_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPolygonMesh_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPolygonMesh_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPolygonMesh_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPolygonMesh_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPolygonMesh_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPolygonMesh_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPolygonMesh_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPolygonMesh_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPolygonMesh_get_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coordinates) ) 

#define IAcadPolygonMesh_put_Coordinates(This,coordinates)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coordinates) ) 

#define IAcadPolygonMesh_get_MClose(This,bClose)	\
    ( (This)->lpVtbl -> get_MClose(This,bClose) ) 

#define IAcadPolygonMesh_put_MClose(This,bClose)	\
    ( (This)->lpVtbl -> put_MClose(This,bClose) ) 

#define IAcadPolygonMesh_get_NClose(This,bClose)	\
    ( (This)->lpVtbl -> get_NClose(This,bClose) ) 

#define IAcadPolygonMesh_put_NClose(This,bClose)	\
    ( (This)->lpVtbl -> put_NClose(This,bClose) ) 

#define IAcadPolygonMesh_get_MDensity(This,density)	\
    ( (This)->lpVtbl -> get_MDensity(This,density) ) 

#define IAcadPolygonMesh_put_MDensity(This,density)	\
    ( (This)->lpVtbl -> put_MDensity(This,density) ) 

#define IAcadPolygonMesh_get_NDensity(This,density)	\
    ( (This)->lpVtbl -> get_NDensity(This,density) ) 

#define IAcadPolygonMesh_put_NDensity(This,density)	\
    ( (This)->lpVtbl -> put_NDensity(This,density) ) 

#define IAcadPolygonMesh_get_MVertexCount(This,Count)	\
    ( (This)->lpVtbl -> get_MVertexCount(This,Count) ) 

#define IAcadPolygonMesh_get_NVertexCount(This,Count)	\
    ( (This)->lpVtbl -> get_NVertexCount(This,Count) ) 

#define IAcadPolygonMesh_get_Type(This,type)	\
    ( (This)->lpVtbl -> get_Type(This,type) ) 

#define IAcadPolygonMesh_put_Type(This,type)	\
    ( (This)->lpVtbl -> put_Type(This,type) ) 

#define IAcadPolygonMesh_AppendVertex(This,vertex)	\
    ( (This)->lpVtbl -> AppendVertex(This,vertex) ) 

#define IAcadPolygonMesh_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadPolygonMesh_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadPolygonMesh_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPolygonMesh_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPolygonMesh,0xBE0BEE2E,0xAECF,0x4DAB,0xA7,0xA3,0xB1,0x56,0x4D,0x89,0x0C,0x2A);

#ifdef __cplusplus

class DECLSPEC_UUID("BE0BEE2E-AECF-4DAB-A7A3-B1564D890C2A")
AcadPolygonMesh;
#endif

#ifndef __IAcadRay_INTERFACE_DEFINED__
#define __IAcadRay_INTERFACE_DEFINED__

/* interface IAcadRay */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRay,0xD933CAF0,0xC437,0x451E,0xA2,0xEA,0x0A,0xC6,0xCE,0x23,0x58,0xA4);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D933CAF0-C437-451E-A2EA-0AC6CE2358A4")
    IAcadRay : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BasePoint( 
            /* [retval][out] */ VARIANT *basePoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BasePoint( 
            /* [in] */ VARIANT basePoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SecondPoint( 
            /* [retval][out] */ VARIANT *secondPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SecondPoint( 
            /* [in] */ VARIANT secondPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ VARIANT *dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ VARIANT dirVector) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRay * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRay * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRay * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRay * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRay * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRay * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRay * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRay * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRay * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRay * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRay * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRay * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRay * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadRay * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadRay * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadRay * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadRay * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadRay * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadRay * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadRay * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadRay * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadRay * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadRay * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadRay * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadRay * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadRay * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadRay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadRay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadRay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadRay * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadRay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadRay * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadRay * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadRay * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadRay * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadRay * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadRay * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadRay * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadRay * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadRay * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadRay * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadRay * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadRay * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadRay * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadRay * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BasePoint )( 
            IAcadRay * This,
            /* [retval][out] */ VARIANT *basePoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BasePoint )( 
            IAcadRay * This,
            /* [in] */ VARIANT basePoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecondPoint )( 
            IAcadRay * This,
            /* [retval][out] */ VARIANT *secondPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SecondPoint )( 
            IAcadRay * This,
            /* [in] */ VARIANT secondPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionVector )( 
            IAcadRay * This,
            /* [retval][out] */ VARIANT *dirVector);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DirectionVector )( 
            IAcadRay * This,
            /* [in] */ VARIANT dirVector);
        
        END_INTERFACE
    } IAcadRayVtbl;

    interface IAcadRay
    {
        CONST_VTBL struct IAcadRayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRay_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRay_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRay_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRay_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRay_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRay_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRay_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRay_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRay_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRay_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRay_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRay_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRay_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRay_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadRay_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadRay_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadRay_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadRay_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadRay_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadRay_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadRay_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadRay_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadRay_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadRay_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadRay_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadRay_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadRay_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadRay_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadRay_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadRay_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadRay_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadRay_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadRay_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadRay_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadRay_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadRay_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadRay_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadRay_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadRay_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadRay_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadRay_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadRay_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadRay_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadRay_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadRay_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadRay_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadRay_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadRay_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadRay_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadRay_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadRay_get_BasePoint(This,basePoint)	\
    ( (This)->lpVtbl -> get_BasePoint(This,basePoint) ) 

#define IAcadRay_put_BasePoint(This,basePoint)	\
    ( (This)->lpVtbl -> put_BasePoint(This,basePoint) ) 

#define IAcadRay_get_SecondPoint(This,secondPoint)	\
    ( (This)->lpVtbl -> get_SecondPoint(This,secondPoint) ) 

#define IAcadRay_put_SecondPoint(This,secondPoint)	\
    ( (This)->lpVtbl -> put_SecondPoint(This,secondPoint) ) 

#define IAcadRay_get_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> get_DirectionVector(This,dirVector) ) 

#define IAcadRay_put_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> put_DirectionVector(This,dirVector) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRay_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRay,0x77781838,0xD547,0x4969,0x9D,0x17,0x47,0x66,0x73,0x10,0x86,0x7D);

#ifdef __cplusplus

class DECLSPEC_UUID("77781838-D547-4969-9D17-47667310867D")
AcadRay;
#endif

#ifndef __IAcadShape_INTERFACE_DEFINED__
#define __IAcadShape_INTERFACE_DEFINED__

/* interface IAcadShape */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadShape,0xED403900,0xEADE,0x4406,0xBB,0x5E,0xC1,0xBA,0xCF,0x68,0xDF,0xFB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("ED403900-EADE-4406-BB5E-C1BACF68DFFB")
    IAcadShape : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ ACAD_ANGLE *obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ ACAD_ANGLE obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadShapeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadShape * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadShape * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadShape * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadShape * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadShape * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadShape * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadShape * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadShape * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadShape * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadShape * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadShape * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadShape * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadShape * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadShape * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadShape * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadShape * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadShape * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadShape * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadShape * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadShape * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadShape * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadShape * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadShape * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadShape * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadShape * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadShape * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadShape * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadShape * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadShape * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadShape * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadShape * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadShape * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadShape * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadShape * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadShape * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadShape * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadShape * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadShape * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadShape * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadShape * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadShape * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadShape * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadShape * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadShape * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadShape * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadShape * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadShape * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadShape * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadShape * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadShape * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadShape * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadShape * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadShape * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_NOUNITS *scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadShape * This,
            /* [in] */ ACAD_NOUNITS scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObliqueAngle )( 
            IAcadShape * This,
            /* [retval][out] */ ACAD_ANGLE *obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObliqueAngle )( 
            IAcadShape * This,
            /* [in] */ ACAD_ANGLE obliAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadShape * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadShape * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadShape * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadShape * This,
            /* [in] */ double thickness);
        
        END_INTERFACE
    } IAcadShapeVtbl;

    interface IAcadShape
    {
        CONST_VTBL struct IAcadShapeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadShape_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadShape_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadShape_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadShape_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadShape_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadShape_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadShape_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadShape_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadShape_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadShape_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadShape_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadShape_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadShape_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadShape_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadShape_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadShape_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadShape_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadShape_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadShape_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadShape_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadShape_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadShape_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadShape_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadShape_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadShape_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadShape_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadShape_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadShape_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadShape_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadShape_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadShape_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadShape_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadShape_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadShape_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadShape_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadShape_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadShape_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadShape_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadShape_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadShape_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadShape_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadShape_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadShape_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadShape_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadShape_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadShape_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadShape_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadShape_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadShape_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadShape_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadShape_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadShape_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadShape_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadShape_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadShape_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadShape_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadShape_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadShape_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadShape_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadShape_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadShape_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadShape_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadShape_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadShape_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadShape_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadShape_get_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scalFactor) ) 

#define IAcadShape_put_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scalFactor) ) 

#define IAcadShape_get_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> get_ObliqueAngle(This,obliAngle) ) 

#define IAcadShape_put_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> put_ObliqueAngle(This,obliAngle) ) 

#define IAcadShape_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadShape_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadShape_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadShape_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadShape_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadShape,0x371C502F,0x8ECC,0x408E,0x9D,0xE6,0xC7,0xC2,0x27,0x61,0x0B,0xFC);

#ifdef __cplusplus

class DECLSPEC_UUID("371C502F-8ECC-408E-9DE6-C7C227610BFC")
AcadShape;
#endif

#ifndef __IAcadSolid_INTERFACE_DEFINED__
#define __IAcadSolid_INTERFACE_DEFINED__

/* interface IAcadSolid */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSolid,0xC5EFAAEB,0xF1C5,0x445C,0x9B,0x3D,0x36,0x1D,0x76,0xBD,0x2B,0x7E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C5EFAAEB-F1C5-445C-9B3D-361D76BD2B7E")
    IAcadSolid : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSolidVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSolid * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSolid * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSolid * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSolid * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSolid * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSolid * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSolid * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSolid * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSolid * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSolid * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSolid * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSolid * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSolid * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSolid * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSolid * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSolid * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSolid * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSolid * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSolid * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSolid * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSolid * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSolid * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSolid * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSolid * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSolid * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSolid * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSolid * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSolid * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSolid * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSolid * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSolid * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSolid * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSolid * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSolid * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSolid * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSolid * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSolid * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSolid * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSolid * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSolid * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSolid * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSolid * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSolid * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSolid * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSolid * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSolid * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSolid * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSolid * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSolid * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadSolid * This,
            /* [retval][out] */ VARIANT *corners);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadSolid * This,
            /* [in] */ VARIANT corners);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadSolid * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadSolid * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadSolid * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadSolid * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadSolid * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadSolid * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        END_INTERFACE
    } IAcadSolidVtbl;

    interface IAcadSolid
    {
        CONST_VTBL struct IAcadSolidVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSolid_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSolid_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSolid_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSolid_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSolid_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSolid_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSolid_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSolid_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSolid_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSolid_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSolid_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSolid_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSolid_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSolid_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSolid_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSolid_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSolid_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSolid_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSolid_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSolid_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSolid_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSolid_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSolid_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSolid_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSolid_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSolid_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSolid_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSolid_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSolid_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSolid_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSolid_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSolid_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSolid_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSolid_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSolid_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSolid_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSolid_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSolid_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSolid_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSolid_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSolid_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSolid_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSolid_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSolid_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSolid_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSolid_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSolid_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSolid_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSolid_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSolid_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSolid_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSolid_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSolid_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSolid_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSolid_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSolid_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSolid_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSolid_get_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> get_Coordinates(This,corners) ) 

#define IAcadSolid_put_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> put_Coordinates(This,corners) ) 

#define IAcadSolid_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadSolid_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadSolid_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadSolid_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadSolid_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadSolid_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSolid_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSolid,0xE8355A27,0xA9B1,0x410C,0xB8,0xE9,0x63,0xF0,0x24,0x70,0x81,0x0E);

#ifdef __cplusplus

class DECLSPEC_UUID("E8355A27-A9B1-410C-B8E9-63F02470810E")
AcadSolid;
#endif

#ifndef __IAcadSpline_INTERFACE_DEFINED__
#define __IAcadSpline_INTERFACE_DEFINED__

/* interface IAcadSpline */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSpline,0x12BB65C2,0x3FD3,0x45B8,0xBA,0x1B,0xAD,0x43,0x86,0x85,0xDE,0x89);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("12BB65C2-3FD3-45B8-BA1B-AD438685DE89")
    IAcadSpline : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfControlPoints( 
            /* [retval][out] */ long *numCtrlPoints) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ControlPoints( 
            /* [retval][out] */ VARIANT *controlPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ControlPoints( 
            /* [in] */ VARIANT controlPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfFitPoints( 
            /* [retval][out] */ long *numFitPoints) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FitPoints( 
            /* [retval][out] */ VARIANT *fitPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FitPoints( 
            /* [in] */ VARIANT fitPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Degree( 
            /* [retval][out] */ long *degree) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL *fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPlanar( 
            /* [retval][out] */ VARIANT_BOOL *fPlanar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsRational( 
            /* [retval][out] */ VARIANT_BOOL *fRational) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPeriodic( 
            /* [retval][out] */ VARIANT_BOOL *fPeriodic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartTangent( 
            /* [retval][out] */ VARIANT *startTangent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartTangent( 
            /* [in] */ VARIANT startTangent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndTangent( 
            /* [retval][out] */ VARIANT *endTangent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndTangent( 
            /* [in] */ VARIANT endTangent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FitTolerance( 
            /* [retval][out] */ double *fitTol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FitTolerance( 
            /* [in] */ double fitTol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Area( 
            /* [retval][out] */ double *area) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetControlPoint( 
            /* [in] */ int Index,
            /* [in] */ VARIANT ControlPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetControlPoint( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *ControlPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFitPoint( 
            /* [in] */ int Index,
            /* [in] */ VARIANT FitPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFitPoint( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *FitPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetWeight( 
            /* [in] */ int Index,
            /* [in] */ double Weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetWeight( 
            /* [in] */ int Index,
            /* [retval][out] */ double *Weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddFitPoint( 
            /* [in] */ int Index,
            /* [in] */ VARIANT FitPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteFitPoint( 
            /* [in] */ int Index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ElevateOrder( 
            /* [in] */ int Order) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE PurgeFitData( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Reverse( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Knots( 
            /* [retval][out] */ VARIANT *KnotValues) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Knots( 
            /* [in] */ VARIANT KnotValues) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Weights( 
            /* [retval][out] */ VARIANT *WeightValues) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Weights( 
            /* [in] */ VARIANT WeightValues) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_KnotParameterization( 
            /* [retval][out] */ AcSplineKnotParameterizationType *knotParamVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_KnotParameterization( 
            /* [in] */ AcSplineKnotParameterizationType knotParamVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SplineFrame( 
            /* [retval][out] */ AcSplineFrameType *show) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SplineFrame( 
            /* [in] */ AcSplineFrameType showFrame) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SplineMethod( 
            /* [retval][out] */ AcSplineMethodType *method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SplineMethod( 
            /* [in] */ AcSplineMethodType method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Degree2( 
            /* [in] */ long degree) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Degree2( 
            /* [retval][out] */ long *degree) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Closed2( 
            /* [in] */ VARIANT_BOOL fClose) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed2( 
            /* [retval][out] */ VARIANT_BOOL *fClose) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSplineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSpline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSpline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSpline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSpline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSpline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSpline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSpline * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSpline * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSpline * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSpline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSpline * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSpline * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSpline * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSpline * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSpline * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSpline * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSpline * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSpline * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSpline * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSpline * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSpline * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSpline * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSpline * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSpline * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSpline * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSpline * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSpline * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSpline * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSpline * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSpline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSpline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSpline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSpline * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSpline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSpline * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSpline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSpline * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSpline * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSpline * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSpline * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSpline * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSpline * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSpline * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSpline * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSpline * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSpline * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSpline * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSpline * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfControlPoints )( 
            IAcadSpline * This,
            /* [retval][out] */ long *numCtrlPoints);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ControlPoints )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *controlPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ControlPoints )( 
            IAcadSpline * This,
            /* [in] */ VARIANT controlPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfFitPoints )( 
            IAcadSpline * This,
            /* [retval][out] */ long *numFitPoints);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FitPoints )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *fitPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FitPoints )( 
            IAcadSpline * This,
            /* [in] */ VARIANT fitPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Degree )( 
            IAcadSpline * This,
            /* [retval][out] */ long *degree);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *fClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPlanar )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *fPlanar);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsRational )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *fRational);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPeriodic )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *fPeriodic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartTangent )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *startTangent);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartTangent )( 
            IAcadSpline * This,
            /* [in] */ VARIANT startTangent);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndTangent )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *endTangent);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndTangent )( 
            IAcadSpline * This,
            /* [in] */ VARIANT endTangent);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FitTolerance )( 
            IAcadSpline * This,
            /* [retval][out] */ double *fitTol);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FitTolerance )( 
            IAcadSpline * This,
            /* [in] */ double fitTol);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Area )( 
            IAcadSpline * This,
            /* [retval][out] */ double *area);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetControlPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT ControlPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetControlPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *ControlPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFitPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT FitPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFitPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *FitPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetWeight )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [in] */ double Weight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetWeight )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [retval][out] */ double *Weight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddFitPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT FitPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteFitPoint )( 
            IAcadSpline * This,
            /* [in] */ int Index);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ElevateOrder )( 
            IAcadSpline * This,
            /* [in] */ int Order);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadSpline * This,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PurgeFitData )( 
            IAcadSpline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reverse )( 
            IAcadSpline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Knots )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *KnotValues);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Knots )( 
            IAcadSpline * This,
            /* [in] */ VARIANT KnotValues);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Weights )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT *WeightValues);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Weights )( 
            IAcadSpline * This,
            /* [in] */ VARIANT WeightValues);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KnotParameterization )( 
            IAcadSpline * This,
            /* [retval][out] */ AcSplineKnotParameterizationType *knotParamVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KnotParameterization )( 
            IAcadSpline * This,
            /* [in] */ AcSplineKnotParameterizationType knotParamVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SplineFrame )( 
            IAcadSpline * This,
            /* [retval][out] */ AcSplineFrameType *show);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SplineFrame )( 
            IAcadSpline * This,
            /* [in] */ AcSplineFrameType showFrame);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SplineMethod )( 
            IAcadSpline * This,
            /* [retval][out] */ AcSplineMethodType *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SplineMethod )( 
            IAcadSpline * This,
            /* [in] */ AcSplineMethodType method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Degree2 )( 
            IAcadSpline * This,
            /* [in] */ long degree);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Degree2 )( 
            IAcadSpline * This,
            /* [retval][out] */ long *degree);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Closed2 )( 
            IAcadSpline * This,
            /* [in] */ VARIANT_BOOL fClose);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed2 )( 
            IAcadSpline * This,
            /* [retval][out] */ VARIANT_BOOL *fClose);
        
        END_INTERFACE
    } IAcadSplineVtbl;

    interface IAcadSpline
    {
        CONST_VTBL struct IAcadSplineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSpline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSpline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSpline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSpline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSpline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSpline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSpline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSpline_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSpline_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSpline_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSpline_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSpline_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSpline_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSpline_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSpline_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSpline_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSpline_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSpline_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSpline_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSpline_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSpline_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSpline_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSpline_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSpline_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSpline_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSpline_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSpline_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSpline_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSpline_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSpline_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSpline_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSpline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSpline_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSpline_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSpline_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSpline_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSpline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSpline_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSpline_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSpline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSpline_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSpline_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSpline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSpline_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSpline_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSpline_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSpline_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSpline_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSpline_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSpline_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSpline_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSpline_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSpline_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSpline_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSpline_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSpline_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSpline_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSpline_get_NumberOfControlPoints(This,numCtrlPoints)	\
    ( (This)->lpVtbl -> get_NumberOfControlPoints(This,numCtrlPoints) ) 

#define IAcadSpline_get_ControlPoints(This,controlPoint)	\
    ( (This)->lpVtbl -> get_ControlPoints(This,controlPoint) ) 

#define IAcadSpline_put_ControlPoints(This,controlPoint)	\
    ( (This)->lpVtbl -> put_ControlPoints(This,controlPoint) ) 

#define IAcadSpline_get_NumberOfFitPoints(This,numFitPoints)	\
    ( (This)->lpVtbl -> get_NumberOfFitPoints(This,numFitPoints) ) 

#define IAcadSpline_get_FitPoints(This,fitPoint)	\
    ( (This)->lpVtbl -> get_FitPoints(This,fitPoint) ) 

#define IAcadSpline_put_FitPoints(This,fitPoint)	\
    ( (This)->lpVtbl -> put_FitPoints(This,fitPoint) ) 

#define IAcadSpline_get_Degree(This,degree)	\
    ( (This)->lpVtbl -> get_Degree(This,degree) ) 

#define IAcadSpline_get_Closed(This,fClose)	\
    ( (This)->lpVtbl -> get_Closed(This,fClose) ) 

#define IAcadSpline_get_IsPlanar(This,fPlanar)	\
    ( (This)->lpVtbl -> get_IsPlanar(This,fPlanar) ) 

#define IAcadSpline_get_IsRational(This,fRational)	\
    ( (This)->lpVtbl -> get_IsRational(This,fRational) ) 

#define IAcadSpline_get_IsPeriodic(This,fPeriodic)	\
    ( (This)->lpVtbl -> get_IsPeriodic(This,fPeriodic) ) 

#define IAcadSpline_get_StartTangent(This,startTangent)	\
    ( (This)->lpVtbl -> get_StartTangent(This,startTangent) ) 

#define IAcadSpline_put_StartTangent(This,startTangent)	\
    ( (This)->lpVtbl -> put_StartTangent(This,startTangent) ) 

#define IAcadSpline_get_EndTangent(This,endTangent)	\
    ( (This)->lpVtbl -> get_EndTangent(This,endTangent) ) 

#define IAcadSpline_put_EndTangent(This,endTangent)	\
    ( (This)->lpVtbl -> put_EndTangent(This,endTangent) ) 

#define IAcadSpline_get_FitTolerance(This,fitTol)	\
    ( (This)->lpVtbl -> get_FitTolerance(This,fitTol) ) 

#define IAcadSpline_put_FitTolerance(This,fitTol)	\
    ( (This)->lpVtbl -> put_FitTolerance(This,fitTol) ) 

#define IAcadSpline_get_Area(This,area)	\
    ( (This)->lpVtbl -> get_Area(This,area) ) 

#define IAcadSpline_SetControlPoint(This,Index,ControlPoint)	\
    ( (This)->lpVtbl -> SetControlPoint(This,Index,ControlPoint) ) 

#define IAcadSpline_GetControlPoint(This,Index,ControlPoint)	\
    ( (This)->lpVtbl -> GetControlPoint(This,Index,ControlPoint) ) 

#define IAcadSpline_SetFitPoint(This,Index,FitPoint)	\
    ( (This)->lpVtbl -> SetFitPoint(This,Index,FitPoint) ) 

#define IAcadSpline_GetFitPoint(This,Index,FitPoint)	\
    ( (This)->lpVtbl -> GetFitPoint(This,Index,FitPoint) ) 

#define IAcadSpline_SetWeight(This,Index,Weight)	\
    ( (This)->lpVtbl -> SetWeight(This,Index,Weight) ) 

#define IAcadSpline_GetWeight(This,Index,Weight)	\
    ( (This)->lpVtbl -> GetWeight(This,Index,Weight) ) 

#define IAcadSpline_AddFitPoint(This,Index,FitPoint)	\
    ( (This)->lpVtbl -> AddFitPoint(This,Index,FitPoint) ) 

#define IAcadSpline_DeleteFitPoint(This,Index)	\
    ( (This)->lpVtbl -> DeleteFitPoint(This,Index) ) 

#define IAcadSpline_ElevateOrder(This,Order)	\
    ( (This)->lpVtbl -> ElevateOrder(This,Order) ) 

#define IAcadSpline_Offset(This,Distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,Distance,pOffsetCurves) ) 

#define IAcadSpline_PurgeFitData(This)	\
    ( (This)->lpVtbl -> PurgeFitData(This) ) 

#define IAcadSpline_Reverse(This)	\
    ( (This)->lpVtbl -> Reverse(This) ) 

#define IAcadSpline_get_Knots(This,KnotValues)	\
    ( (This)->lpVtbl -> get_Knots(This,KnotValues) ) 

#define IAcadSpline_put_Knots(This,KnotValues)	\
    ( (This)->lpVtbl -> put_Knots(This,KnotValues) ) 

#define IAcadSpline_get_Weights(This,WeightValues)	\
    ( (This)->lpVtbl -> get_Weights(This,WeightValues) ) 

#define IAcadSpline_put_Weights(This,WeightValues)	\
    ( (This)->lpVtbl -> put_Weights(This,WeightValues) ) 

#define IAcadSpline_get_KnotParameterization(This,knotParamVal)	\
    ( (This)->lpVtbl -> get_KnotParameterization(This,knotParamVal) ) 

#define IAcadSpline_put_KnotParameterization(This,knotParamVal)	\
    ( (This)->lpVtbl -> put_KnotParameterization(This,knotParamVal) ) 

#define IAcadSpline_get_SplineFrame(This,show)	\
    ( (This)->lpVtbl -> get_SplineFrame(This,show) ) 

#define IAcadSpline_put_SplineFrame(This,showFrame)	\
    ( (This)->lpVtbl -> put_SplineFrame(This,showFrame) ) 

#define IAcadSpline_get_SplineMethod(This,method)	\
    ( (This)->lpVtbl -> get_SplineMethod(This,method) ) 

#define IAcadSpline_put_SplineMethod(This,method)	\
    ( (This)->lpVtbl -> put_SplineMethod(This,method) ) 

#define IAcadSpline_put_Degree2(This,degree)	\
    ( (This)->lpVtbl -> put_Degree2(This,degree) ) 

#define IAcadSpline_get_Degree2(This,degree)	\
    ( (This)->lpVtbl -> get_Degree2(This,degree) ) 

#define IAcadSpline_put_Closed2(This,fClose)	\
    ( (This)->lpVtbl -> put_Closed2(This,fClose) ) 

#define IAcadSpline_get_Closed2(This,fClose)	\
    ( (This)->lpVtbl -> get_Closed2(This,fClose) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSpline_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSpline,0x2D52F7DC,0xEF7C,0x4437,0x94,0x53,0x55,0xC3,0xB3,0xC3,0x96,0x1E);

#ifdef __cplusplus

class DECLSPEC_UUID("2D52F7DC-EF7C-4437-9453-55C3B3C3961E")
AcadSpline;
#endif

#ifndef __IAcadText_INTERFACE_DEFINED__
#define __IAcadText_INTERFACE_DEFINED__

/* interface IAcadText */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadText,0xA04A1B53,0x93AF,0x4410,0xBB,0x77,0xAF,0xA5,0x9F,0xE2,0x80,0xAB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A04A1B53-93AF-4410-BB77-AFA59FE280AB")
    IAcadText : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Alignment( 
            /* [retval][out] */ AcAlignment *align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Alignment( 
            /* [in] */ AcAlignment align) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalAlignment( 
            /* [retval][out] */ AcHorizontalAlignment *horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalAlignment( 
            /* [in] */ AcHorizontalAlignment horizAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalAlignment( 
            /* [retval][out] */ AcVerticalAlignment *vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalAlignment( 
            /* [in] */ AcVerticalAlignment vertiAlign) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scalFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObliqueAngle( 
            /* [retval][out] */ ACAD_ANGLE *obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObliqueAngle( 
            /* [in] */ ACAD_ANGLE obliAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextAlignmentPoint( 
            /* [retval][out] */ VARIANT *alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextAlignmentPoint( 
            /* [in] */ VARIANT alignPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGenerationFlag( 
            /* [retval][out] */ long *textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGenerationFlag( 
            /* [in] */ long textGenFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UpsideDown( 
            /* [retval][out] */ VARIANT_BOOL *upsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UpsideDown( 
            /* [in] */ VARIANT_BOOL upsideDown) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Backward( 
            /* [retval][out] */ VARIANT_BOOL *backward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Backward( 
            /* [in] */ VARIANT_BOOL backward) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE FieldCode( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTextVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadText * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadText * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadText * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadText * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadText * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadText * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadText * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadText * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadText * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadText * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadText * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadText * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadText * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadText * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadText * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadText * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadText * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadText * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadText * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadText * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadText * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadText * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadText * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadText * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadText * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadText * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadText * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadText * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadText * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadText * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadText * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadText * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadText * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadText * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadText * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadText * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadText * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadText * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadText * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadText * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadText * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadText * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadText * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadText * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadText * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadText * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Alignment )( 
            IAcadText * This,
            /* [retval][out] */ AcAlignment *align);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Alignment )( 
            IAcadText * This,
            /* [in] */ AcAlignment align);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalAlignment )( 
            IAcadText * This,
            /* [retval][out] */ AcHorizontalAlignment *horizAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalAlignment )( 
            IAcadText * This,
            /* [in] */ AcHorizontalAlignment horizAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalAlignment )( 
            IAcadText * This,
            /* [retval][out] */ AcVerticalAlignment *vertiAlign);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalAlignment )( 
            IAcadText * This,
            /* [in] */ AcVerticalAlignment vertiAlign);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadText * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadText * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadText * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_NOUNITS *scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadText * This,
            /* [in] */ ACAD_NOUNITS scalFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObliqueAngle )( 
            IAcadText * This,
            /* [retval][out] */ ACAD_ANGLE *obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObliqueAngle )( 
            IAcadText * This,
            /* [in] */ ACAD_ANGLE obliAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextAlignmentPoint )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT *alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextAlignmentPoint )( 
            IAcadText * This,
            /* [in] */ VARIANT alignPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadText * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadText * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGenerationFlag )( 
            IAcadText * This,
            /* [retval][out] */ long *textGenFlag);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGenerationFlag )( 
            IAcadText * This,
            /* [in] */ long textGenFlag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadText * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadText * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UpsideDown )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT_BOOL *upsideDown);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UpsideDown )( 
            IAcadText * This,
            /* [in] */ VARIANT_BOOL upsideDown);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Backward )( 
            IAcadText * This,
            /* [retval][out] */ VARIANT_BOOL *backward);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Backward )( 
            IAcadText * This,
            /* [in] */ VARIANT_BOOL backward);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FieldCode )( 
            IAcadText * This,
            /* [retval][out] */ BSTR *bstrText);
        
        END_INTERFACE
    } IAcadTextVtbl;

    interface IAcadText
    {
        CONST_VTBL struct IAcadTextVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadText_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadText_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadText_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadText_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadText_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadText_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadText_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadText_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadText_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadText_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadText_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadText_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadText_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadText_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadText_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadText_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadText_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadText_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadText_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadText_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadText_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadText_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadText_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadText_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadText_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadText_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadText_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadText_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadText_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadText_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadText_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadText_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadText_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadText_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadText_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadText_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadText_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadText_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadText_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadText_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadText_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadText_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadText_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadText_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadText_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadText_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadText_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadText_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadText_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadText_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadText_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadText_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadText_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadText_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadText_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadText_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadText_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadText_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadText_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadText_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadText_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadText_get_Alignment(This,align)	\
    ( (This)->lpVtbl -> get_Alignment(This,align) ) 

#define IAcadText_put_Alignment(This,align)	\
    ( (This)->lpVtbl -> put_Alignment(This,align) ) 

#define IAcadText_get_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> get_HorizontalAlignment(This,horizAlign) ) 

#define IAcadText_put_HorizontalAlignment(This,horizAlign)	\
    ( (This)->lpVtbl -> put_HorizontalAlignment(This,horizAlign) ) 

#define IAcadText_get_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> get_VerticalAlignment(This,vertiAlign) ) 

#define IAcadText_put_VerticalAlignment(This,vertiAlign)	\
    ( (This)->lpVtbl -> put_VerticalAlignment(This,vertiAlign) ) 

#define IAcadText_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadText_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadText_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadText_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadText_get_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scalFactor) ) 

#define IAcadText_put_ScaleFactor(This,scalFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scalFactor) ) 

#define IAcadText_get_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> get_ObliqueAngle(This,obliAngle) ) 

#define IAcadText_put_ObliqueAngle(This,obliAngle)	\
    ( (This)->lpVtbl -> put_ObliqueAngle(This,obliAngle) ) 

#define IAcadText_get_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> get_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadText_put_TextAlignmentPoint(This,alignPoint)	\
    ( (This)->lpVtbl -> put_TextAlignmentPoint(This,alignPoint) ) 

#define IAcadText_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadText_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadText_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadText_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadText_get_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> get_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadText_put_TextGenerationFlag(This,textGenFlag)	\
    ( (This)->lpVtbl -> put_TextGenerationFlag(This,textGenFlag) ) 

#define IAcadText_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadText_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadText_get_UpsideDown(This,upsideDown)	\
    ( (This)->lpVtbl -> get_UpsideDown(This,upsideDown) ) 

#define IAcadText_put_UpsideDown(This,upsideDown)	\
    ( (This)->lpVtbl -> put_UpsideDown(This,upsideDown) ) 

#define IAcadText_get_Backward(This,backward)	\
    ( (This)->lpVtbl -> get_Backward(This,backward) ) 

#define IAcadText_put_Backward(This,backward)	\
    ( (This)->lpVtbl -> put_Backward(This,backward) ) 

#define IAcadText_FieldCode(This,bstrText)	\
    ( (This)->lpVtbl -> FieldCode(This,bstrText) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadText_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadText,0x35FD0123,0x4B49,0x4E8D,0x9B,0xCC,0x20,0xB2,0xC0,0xE2,0x40,0xF0);

#ifdef __cplusplus

class DECLSPEC_UUID("35FD0123-4B49-4E8D-9BCC-20B2C0E240F0")
AcadText;
#endif

#ifndef __IAcadTolerance_INTERFACE_DEFINED__
#define __IAcadTolerance_INTERFACE_DEFINED__

/* interface IAcadTolerance */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTolerance,0x37DD95EA,0xF214,0x4736,0x9C,0xCA,0x90,0x2C,0x98,0xE1,0x8C,0x40);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("37DD95EA-F214-4736-9CCA-902C98E18C40")
    IAcadTolerance : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ VARIANT *dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ VARIANT dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextColor( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextColor( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyle( 
            /* [retval][out] */ BSTR *style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextStyle( 
            /* [in] */ BSTR style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadToleranceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTolerance * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTolerance * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTolerance * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTolerance * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTolerance * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTolerance * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTolerance * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTolerance * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTolerance * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTolerance * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTolerance * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTolerance * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTolerance * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTolerance * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTolerance * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTolerance * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTolerance * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadTolerance * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadTolerance * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadTolerance * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadTolerance * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadTolerance * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadTolerance * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadTolerance * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadTolerance * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadTolerance * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadTolerance * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadTolerance * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadTolerance * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadTolerance * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadTolerance * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadTolerance * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadTolerance * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionVector )( 
            IAcadTolerance * This,
            /* [retval][out] */ VARIANT *dirVector);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DirectionVector )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT dirVector);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadTolerance * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadTolerance * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadTolerance * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadTolerance * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadTolerance * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadTolerance * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadTolerance * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadTolerance * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadTolerance * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadTolerance * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadTolerance * This,
            /* [in] */ ACAD_COLOR Type);
        
        END_INTERFACE
    } IAcadToleranceVtbl;

    interface IAcadTolerance
    {
        CONST_VTBL struct IAcadToleranceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTolerance_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTolerance_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTolerance_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTolerance_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTolerance_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTolerance_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTolerance_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTolerance_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTolerance_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTolerance_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTolerance_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTolerance_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTolerance_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTolerance_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTolerance_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTolerance_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTolerance_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTolerance_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTolerance_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTolerance_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTolerance_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadTolerance_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadTolerance_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadTolerance_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadTolerance_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadTolerance_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadTolerance_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadTolerance_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadTolerance_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadTolerance_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadTolerance_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadTolerance_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadTolerance_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadTolerance_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadTolerance_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadTolerance_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadTolerance_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadTolerance_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadTolerance_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadTolerance_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadTolerance_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadTolerance_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadTolerance_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadTolerance_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadTolerance_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadTolerance_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadTolerance_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadTolerance_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadTolerance_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadTolerance_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadTolerance_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadTolerance_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadTolerance_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadTolerance_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadTolerance_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadTolerance_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadTolerance_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadTolerance_get_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> get_DirectionVector(This,dirVector) ) 

#define IAcadTolerance_put_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> put_DirectionVector(This,dirVector) ) 

#define IAcadTolerance_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadTolerance_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadTolerance_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadTolerance_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadTolerance_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadTolerance_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadTolerance_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadTolerance_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadTolerance_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadTolerance_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadTolerance_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadTolerance_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadTolerance_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadTolerance_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadTolerance_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadTolerance_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadTolerance_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadTolerance_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadTolerance_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTolerance,0x864B76DA,0x054A,0x4B50,0x9A,0xE3,0xA3,0x4B,0x83,0xEC,0xE2,0x4E);

#ifdef __cplusplus

class DECLSPEC_UUID("864B76DA-054A-4B50-9AE3-A34B83ECE24E")
AcadTolerance;
#endif

#ifndef __IAcadTrace_INTERFACE_DEFINED__
#define __IAcadTrace_INTERFACE_DEFINED__

/* interface IAcadTrace */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTrace,0xC10E4A86,0xF1B3,0x4955,0xAC,0xC5,0x0E,0xA3,0x5D,0xCE,0x23,0x2F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C10E4A86-F1B3-4955-ACC5-0EA35DCE232F")
    IAcadTrace : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Thickness( 
            /* [retval][out] */ double *thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Thickness( 
            /* [in] */ double thickness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTraceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTrace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTrace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTrace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTrace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTrace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTrace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTrace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTrace * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTrace * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTrace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTrace * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTrace * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTrace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTrace * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTrace * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTrace * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTrace * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTrace * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadTrace * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadTrace * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadTrace * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadTrace * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadTrace * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadTrace * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadTrace * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadTrace * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadTrace * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadTrace * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadTrace * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadTrace * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadTrace * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadTrace * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadTrace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadTrace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadTrace * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadTrace * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadTrace * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadTrace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadTrace * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadTrace * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadTrace * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadTrace * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadTrace * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadTrace * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadTrace * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadTrace * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadTrace * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadTrace * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadTrace * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadTrace * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadTrace * This,
            /* [retval][out] */ VARIANT *corners);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadTrace * This,
            /* [in] */ VARIANT corners);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadTrace * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadTrace * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Thickness )( 
            IAcadTrace * This,
            /* [retval][out] */ double *thickness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Thickness )( 
            IAcadTrace * This,
            /* [in] */ double thickness);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadTrace * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadTrace * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        END_INTERFACE
    } IAcadTraceVtbl;

    interface IAcadTrace
    {
        CONST_VTBL struct IAcadTraceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTrace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTrace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTrace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTrace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTrace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTrace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTrace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTrace_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTrace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTrace_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTrace_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTrace_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTrace_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTrace_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTrace_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTrace_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTrace_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTrace_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTrace_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTrace_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTrace_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadTrace_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadTrace_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadTrace_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadTrace_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadTrace_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadTrace_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadTrace_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadTrace_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadTrace_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadTrace_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadTrace_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadTrace_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadTrace_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadTrace_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadTrace_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadTrace_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadTrace_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadTrace_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadTrace_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadTrace_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadTrace_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadTrace_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadTrace_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadTrace_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadTrace_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadTrace_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadTrace_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadTrace_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadTrace_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadTrace_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadTrace_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadTrace_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadTrace_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadTrace_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadTrace_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadTrace_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadTrace_get_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> get_Coordinates(This,corners) ) 

#define IAcadTrace_put_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> put_Coordinates(This,corners) ) 

#define IAcadTrace_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadTrace_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadTrace_get_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> get_Thickness(This,thickness) ) 

#define IAcadTrace_put_Thickness(This,thickness)	\
    ( (This)->lpVtbl -> put_Thickness(This,thickness) ) 

#define IAcadTrace_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadTrace_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadTrace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTrace,0xCBD0625E,0x8565,0x4C46,0x98,0x7F,0x89,0x75,0xFC,0x27,0x3C,0xB3);

#ifdef __cplusplus

class DECLSPEC_UUID("CBD0625E-8565-4C46-987F-8975FC273CB3")
AcadTrace;
#endif

#ifndef __IAcadXline_INTERFACE_DEFINED__
#define __IAcadXline_INTERFACE_DEFINED__

/* interface IAcadXline */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadXline,0xAAE650D2,0x49C0,0x4833,0xBE,0x23,0x60,0xC0,0x15,0x81,0xBE,0x0B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AAE650D2-49C0-4833-BE23-60C01581BE0B")
    IAcadXline : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BasePoint( 
            /* [retval][out] */ VARIANT *basePoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BasePoint( 
            /* [in] */ VARIANT basePoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SecondPoint( 
            /* [retval][out] */ VARIANT *secondPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SecondPoint( 
            /* [in] */ VARIANT secondPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DirectionVector( 
            /* [retval][out] */ VARIANT *dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DirectionVector( 
            /* [in] */ VARIANT dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Offset( 
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadXlineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadXline * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadXline * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadXline * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadXline * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadXline * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadXline * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadXline * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadXline * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadXline * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadXline * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadXline * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadXline * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadXline * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadXline * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadXline * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadXline * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadXline * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadXline * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadXline * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadXline * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadXline * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadXline * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadXline * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadXline * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadXline * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadXline * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadXline * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadXline * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadXline * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadXline * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadXline * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadXline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadXline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadXline * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadXline * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadXline * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadXline * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadXline * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadXline * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadXline * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadXline * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadXline * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadXline * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadXline * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadXline * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadXline * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadXline * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadXline * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadXline * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadXline * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BasePoint )( 
            IAcadXline * This,
            /* [retval][out] */ VARIANT *basePoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BasePoint )( 
            IAcadXline * This,
            /* [in] */ VARIANT basePoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SecondPoint )( 
            IAcadXline * This,
            /* [retval][out] */ VARIANT *secondPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SecondPoint )( 
            IAcadXline * This,
            /* [in] */ VARIANT secondPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DirectionVector )( 
            IAcadXline * This,
            /* [retval][out] */ VARIANT *dirVector);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DirectionVector )( 
            IAcadXline * This,
            /* [in] */ VARIANT dirVector);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Offset )( 
            IAcadXline * This,
            /* [in] */ double distance,
            /* [retval][out] */ VARIANT *pOffsetCurves);
        
        END_INTERFACE
    } IAcadXlineVtbl;

    interface IAcadXline
    {
        CONST_VTBL struct IAcadXlineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadXline_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadXline_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadXline_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadXline_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadXline_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadXline_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadXline_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadXline_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadXline_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadXline_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadXline_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadXline_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadXline_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadXline_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadXline_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadXline_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadXline_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadXline_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadXline_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadXline_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadXline_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadXline_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadXline_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadXline_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadXline_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadXline_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadXline_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadXline_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadXline_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadXline_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadXline_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadXline_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadXline_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadXline_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadXline_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadXline_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadXline_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadXline_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadXline_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadXline_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadXline_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadXline_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadXline_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadXline_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadXline_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadXline_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadXline_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadXline_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadXline_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadXline_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadXline_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadXline_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadXline_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadXline_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadXline_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadXline_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadXline_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadXline_get_BasePoint(This,basePoint)	\
    ( (This)->lpVtbl -> get_BasePoint(This,basePoint) ) 

#define IAcadXline_put_BasePoint(This,basePoint)	\
    ( (This)->lpVtbl -> put_BasePoint(This,basePoint) ) 

#define IAcadXline_get_SecondPoint(This,secondPoint)	\
    ( (This)->lpVtbl -> get_SecondPoint(This,secondPoint) ) 

#define IAcadXline_put_SecondPoint(This,secondPoint)	\
    ( (This)->lpVtbl -> put_SecondPoint(This,secondPoint) ) 

#define IAcadXline_get_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> get_DirectionVector(This,dirVector) ) 

#define IAcadXline_put_DirectionVector(This,dirVector)	\
    ( (This)->lpVtbl -> put_DirectionVector(This,dirVector) ) 

#define IAcadXline_Offset(This,distance,pOffsetCurves)	\
    ( (This)->lpVtbl -> Offset(This,distance,pOffsetCurves) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadXline_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadXline,0xAF703C53,0xA442,0x402F,0xAA,0x7D,0xC8,0x69,0x27,0xE1,0xFC,0x2C);

#ifdef __cplusplus

class DECLSPEC_UUID("AF703C53-A442-402F-AA7D-C86927E1FC2C")
AcadXline;
#endif

#ifndef __IAcadPViewport_INTERFACE_DEFINED__
#define __IAcadPViewport_INTERFACE_DEFINED__

/* interface IAcadPViewport */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPViewport,0x266F1548,0xDBFF,0x4343,0xAC,0x33,0x51,0x41,0xA6,0x2D,0x97,0x6B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("266F1548-DBFF-4343-AC33-5141A62D976B")
    IAcadPViewport : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT centerPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ VARIANT *dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ VARIANT dirVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_GridOn( 
            /* [retval][out] */ VARIANT_BOOL *bGridOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_GridOn( 
            /* [in] */ VARIANT_BOOL bGridOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ViewportOn( 
            /* [retval][out] */ VARIANT_BOOL *bOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ViewportOn( 
            /* [in] */ VARIANT_BOOL bOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Clipped( 
            /* [retval][out] */ VARIANT_BOOL *bClipped) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayLocked( 
            /* [retval][out] */ VARIANT_BOOL *bLocked) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayLocked( 
            /* [in] */ VARIANT_BOOL bLocked) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StandardScale( 
            /* [retval][out] */ AcViewportScale *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StandardScale( 
            /* [in] */ AcViewportScale scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CustomScale( 
            /* [retval][out] */ double *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CustomScale( 
            /* [in] */ double Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleSheet( 
            /* [retval][out] */ BSTR *pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleSheet( 
            /* [in] */ BSTR pName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UCSPerViewport( 
            /* [retval][out] */ VARIANT_BOOL *UCSSaved) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UCSPerViewport( 
            /* [in] */ VARIANT_BOOL UCSSaved) = 0;
        
        virtual /* [helpstringcontext][nonbrowsable][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapBasePoint( 
            /* [retval][out] */ VARIANT *lowLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapBasePoint( 
            /* [in] */ VARIANT lowLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapOn( 
            /* [retval][out] */ VARIANT_BOOL *bSnapOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapOn( 
            /* [in] */ VARIANT_BOOL bSnapOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_SnapRotationAngle( 
            /* [retval][out] */ double *angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_SnapRotationAngle( 
            /* [in] */ double angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconOn( 
            /* [retval][out] */ VARIANT_BOOL *bIconOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconOn( 
            /* [in] */ VARIANT_BOOL bIconOn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_UCSIconAtOrigin( 
            /* [retval][out] */ VARIANT_BOOL *bIconAtOrigin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_UCSIconAtOrigin( 
            /* [in] */ VARIANT_BOOL bIconAtOrigin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridSpacing( 
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridSpacing( 
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSnapSpacing( 
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetSnapSpacing( 
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Display( 
            /* [in] */ VARIANT_BOOL bStatus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_TwistAngle( 
            /* [retval][out] */ ACAD_ANGLE *angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_TwistAngle( 
            /* [in] */ ACAD_ANGLE angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_LensLength( 
            /* [retval][out] */ double *Length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_LensLength( 
            /* [in] */ double Length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get_RemoveHiddenLines( 
            /* [retval][out] */ VARIANT_BOOL *bRemoval) = 0;
        
        virtual /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_RemoveHiddenLines( 
            /* [in] */ VARIANT_BOOL bRemoval) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
            /* [retval][out] */ VARIANT *targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Target( 
            /* [in] */ VARIANT targetPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcSmoothness( 
            /* [retval][out] */ long *arcSmooth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArcSmoothness( 
            /* [in] */ long arcSmooth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VisualStyle( 
            /* [retval][out] */ int *pVisualStyleIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VisualStyle( 
            /* [in] */ int visualStyleIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShadePlot( 
            /* [retval][out] */ int *pShadePlotIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShadePlot( 
            /* [in] */ int shadePlotIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ModelView( 
            /* [retval][out] */ IAcadView **View) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ModelView( 
            /* [in] */ IAcadView *View) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SheetView( 
            /* [retval][out] */ IAcadView **View) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SheetView( 
            /* [in] */ IAcadView *View) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LabelBlockId( 
            /* [retval][out] */ LONG_PTR *ObjectID) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LabelBlockId( 
            /* [in] */ LONG_PTR *ObjectID) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasSheetView( 
            /* [retval][out] */ VARIANT_BOOL *bSheetView) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SyncModelView( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StandardScale2( 
            /* [retval][out] */ int *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StandardScale2( 
            /* [in] */ int scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LayerPropertyOverrides( 
            /* [retval][out] */ VARIANT_BOOL *bOverrides) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPViewportVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPViewport * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPViewport * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPViewport * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPViewport * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPViewport * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPViewport * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPViewport * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPViewport * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPViewport * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPViewport * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPViewport * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPViewport * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPViewport * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPViewport * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPViewport * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPViewport * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPViewport * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPViewport * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPViewport * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPViewport * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPViewport * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPViewport * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPViewport * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPViewport * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPViewport * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPViewport * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPViewport * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPViewport * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPViewport * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPViewport * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPViewport * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPViewport * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPViewport * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT *centerPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT centerPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT *dirVector);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Direction )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT dirVector);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GridOn )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bGridOn);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GridOn )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bGridOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadPViewport * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadPViewport * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadPViewport * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadPViewport * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewportOn )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bOn);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewportOn )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bOn);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Clipped )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bClipped);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayLocked )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bLocked);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayLocked )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bLocked);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StandardScale )( 
            IAcadPViewport * This,
            /* [retval][out] */ AcViewportScale *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StandardScale )( 
            IAcadPViewport * This,
            /* [in] */ AcViewportScale scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomScale )( 
            IAcadPViewport * This,
            /* [retval][out] */ double *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomScale )( 
            IAcadPViewport * This,
            /* [in] */ double Scale);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleSheet )( 
            IAcadPViewport * This,
            /* [retval][out] */ BSTR *pName);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleSheet )( 
            IAcadPViewport * This,
            /* [in] */ BSTR pName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UCSPerViewport )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *UCSSaved);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UCSPerViewport )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL UCSSaved);
        
        /* [helpstringcontext][nonbrowsable][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapBasePoint )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT *lowLeft);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapBasePoint )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT lowLeft);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapOn )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bSnapOn);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapOn )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bSnapOn);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SnapRotationAngle )( 
            IAcadPViewport * This,
            /* [retval][out] */ double *angle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SnapRotationAngle )( 
            IAcadPViewport * This,
            /* [in] */ double angle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UCSIconOn )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bIconOn);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UCSIconOn )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bIconOn);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UCSIconAtOrigin )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bIconAtOrigin);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UCSIconAtOrigin )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bIconAtOrigin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridSpacing )( 
            IAcadPViewport * This,
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridSpacing )( 
            IAcadPViewport * This,
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSnapSpacing )( 
            IAcadPViewport * This,
            /* [out] */ double *XSpacing,
            /* [out] */ double *YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetSnapSpacing )( 
            IAcadPViewport * This,
            /* [in] */ double XSpacing,
            /* [in] */ double YSpacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Display )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bStatus);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TwistAngle )( 
            IAcadPViewport * This,
            /* [retval][out] */ ACAD_ANGLE *angle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TwistAngle )( 
            IAcadPViewport * This,
            /* [in] */ ACAD_ANGLE angle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LensLength )( 
            IAcadPViewport * This,
            /* [retval][out] */ double *Length);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LensLength )( 
            IAcadPViewport * This,
            /* [in] */ double Length);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RemoveHiddenLines )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bRemoval);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RemoveHiddenLines )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT_BOOL bRemoval);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Target )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT *targetPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Target )( 
            IAcadPViewport * This,
            /* [in] */ VARIANT targetPoint);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcSmoothness )( 
            IAcadPViewport * This,
            /* [retval][out] */ long *arcSmooth);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArcSmoothness )( 
            IAcadPViewport * This,
            /* [in] */ long arcSmooth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VisualStyle )( 
            IAcadPViewport * This,
            /* [retval][out] */ int *pVisualStyleIndex);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VisualStyle )( 
            IAcadPViewport * This,
            /* [in] */ int visualStyleIndex);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShadePlot )( 
            IAcadPViewport * This,
            /* [retval][out] */ int *pShadePlotIndex);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShadePlot )( 
            IAcadPViewport * This,
            /* [in] */ int shadePlotIndex);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelView )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadView **View);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ModelView )( 
            IAcadPViewport * This,
            /* [in] */ IAcadView *View);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SheetView )( 
            IAcadPViewport * This,
            /* [retval][out] */ IAcadView **View);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SheetView )( 
            IAcadPViewport * This,
            /* [in] */ IAcadView *View);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LabelBlockId )( 
            IAcadPViewport * This,
            /* [retval][out] */ LONG_PTR *ObjectID);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LabelBlockId )( 
            IAcadPViewport * This,
            /* [in] */ LONG_PTR *ObjectID);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSheetView )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bSheetView);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SyncModelView )( 
            IAcadPViewport * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StandardScale2 )( 
            IAcadPViewport * This,
            /* [retval][out] */ int *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StandardScale2 )( 
            IAcadPViewport * This,
            /* [in] */ int scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayerPropertyOverrides )( 
            IAcadPViewport * This,
            /* [retval][out] */ VARIANT_BOOL *bOverrides);
        
        END_INTERFACE
    } IAcadPViewportVtbl;

    interface IAcadPViewport
    {
        CONST_VTBL struct IAcadPViewportVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPViewport_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPViewport_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPViewport_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPViewport_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPViewport_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPViewport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPViewport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPViewport_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPViewport_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPViewport_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPViewport_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPViewport_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPViewport_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPViewport_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPViewport_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPViewport_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPViewport_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPViewport_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPViewport_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPViewport_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPViewport_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPViewport_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPViewport_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPViewport_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPViewport_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPViewport_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPViewport_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPViewport_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPViewport_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPViewport_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPViewport_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPViewport_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPViewport_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPViewport_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPViewport_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPViewport_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPViewport_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPViewport_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPViewport_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPViewport_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPViewport_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPViewport_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPViewport_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPViewport_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPViewport_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPViewport_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPViewport_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPViewport_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPViewport_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPViewport_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPViewport_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPViewport_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPViewport_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPViewport_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPViewport_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPViewport_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPViewport_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPViewport_get_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> get_Center(This,centerPoint) ) 

#define IAcadPViewport_put_Center(This,centerPoint)	\
    ( (This)->lpVtbl -> put_Center(This,centerPoint) ) 

#define IAcadPViewport_get_Direction(This,dirVector)	\
    ( (This)->lpVtbl -> get_Direction(This,dirVector) ) 

#define IAcadPViewport_put_Direction(This,dirVector)	\
    ( (This)->lpVtbl -> put_Direction(This,dirVector) ) 

#define IAcadPViewport_get_GridOn(This,bGridOn)	\
    ( (This)->lpVtbl -> get_GridOn(This,bGridOn) ) 

#define IAcadPViewport_put_GridOn(This,bGridOn)	\
    ( (This)->lpVtbl -> put_GridOn(This,bGridOn) ) 

#define IAcadPViewport_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadPViewport_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadPViewport_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadPViewport_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadPViewport_get_ViewportOn(This,bOn)	\
    ( (This)->lpVtbl -> get_ViewportOn(This,bOn) ) 

#define IAcadPViewport_put_ViewportOn(This,bOn)	\
    ( (This)->lpVtbl -> put_ViewportOn(This,bOn) ) 

#define IAcadPViewport_get_Clipped(This,bClipped)	\
    ( (This)->lpVtbl -> get_Clipped(This,bClipped) ) 

#define IAcadPViewport_get_DisplayLocked(This,bLocked)	\
    ( (This)->lpVtbl -> get_DisplayLocked(This,bLocked) ) 

#define IAcadPViewport_put_DisplayLocked(This,bLocked)	\
    ( (This)->lpVtbl -> put_DisplayLocked(This,bLocked) ) 

#define IAcadPViewport_get_StandardScale(This,scale)	\
    ( (This)->lpVtbl -> get_StandardScale(This,scale) ) 

#define IAcadPViewport_put_StandardScale(This,scale)	\
    ( (This)->lpVtbl -> put_StandardScale(This,scale) ) 

#define IAcadPViewport_get_CustomScale(This,Scale)	\
    ( (This)->lpVtbl -> get_CustomScale(This,Scale) ) 

#define IAcadPViewport_put_CustomScale(This,Scale)	\
    ( (This)->lpVtbl -> put_CustomScale(This,Scale) ) 

#define IAcadPViewport_get_StyleSheet(This,pName)	\
    ( (This)->lpVtbl -> get_StyleSheet(This,pName) ) 

#define IAcadPViewport_put_StyleSheet(This,pName)	\
    ( (This)->lpVtbl -> put_StyleSheet(This,pName) ) 

#define IAcadPViewport_get_UCSPerViewport(This,UCSSaved)	\
    ( (This)->lpVtbl -> get_UCSPerViewport(This,UCSSaved) ) 

#define IAcadPViewport_put_UCSPerViewport(This,UCSSaved)	\
    ( (This)->lpVtbl -> put_UCSPerViewport(This,UCSSaved) ) 

#define IAcadPViewport_get_SnapBasePoint(This,lowLeft)	\
    ( (This)->lpVtbl -> get_SnapBasePoint(This,lowLeft) ) 

#define IAcadPViewport_put_SnapBasePoint(This,lowLeft)	\
    ( (This)->lpVtbl -> put_SnapBasePoint(This,lowLeft) ) 

#define IAcadPViewport_get_SnapOn(This,bSnapOn)	\
    ( (This)->lpVtbl -> get_SnapOn(This,bSnapOn) ) 

#define IAcadPViewport_put_SnapOn(This,bSnapOn)	\
    ( (This)->lpVtbl -> put_SnapOn(This,bSnapOn) ) 

#define IAcadPViewport_get_SnapRotationAngle(This,angle)	\
    ( (This)->lpVtbl -> get_SnapRotationAngle(This,angle) ) 

#define IAcadPViewport_put_SnapRotationAngle(This,angle)	\
    ( (This)->lpVtbl -> put_SnapRotationAngle(This,angle) ) 

#define IAcadPViewport_get_UCSIconOn(This,bIconOn)	\
    ( (This)->lpVtbl -> get_UCSIconOn(This,bIconOn) ) 

#define IAcadPViewport_put_UCSIconOn(This,bIconOn)	\
    ( (This)->lpVtbl -> put_UCSIconOn(This,bIconOn) ) 

#define IAcadPViewport_get_UCSIconAtOrigin(This,bIconAtOrigin)	\
    ( (This)->lpVtbl -> get_UCSIconAtOrigin(This,bIconAtOrigin) ) 

#define IAcadPViewport_put_UCSIconAtOrigin(This,bIconAtOrigin)	\
    ( (This)->lpVtbl -> put_UCSIconAtOrigin(This,bIconAtOrigin) ) 

#define IAcadPViewport_GetGridSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> GetGridSpacing(This,XSpacing,YSpacing) ) 

#define IAcadPViewport_SetGridSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> SetGridSpacing(This,XSpacing,YSpacing) ) 

#define IAcadPViewport_GetSnapSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> GetSnapSpacing(This,XSpacing,YSpacing) ) 

#define IAcadPViewport_SetSnapSpacing(This,XSpacing,YSpacing)	\
    ( (This)->lpVtbl -> SetSnapSpacing(This,XSpacing,YSpacing) ) 

#define IAcadPViewport_Display(This,bStatus)	\
    ( (This)->lpVtbl -> Display(This,bStatus) ) 

#define IAcadPViewport_get_TwistAngle(This,angle)	\
    ( (This)->lpVtbl -> get_TwistAngle(This,angle) ) 

#define IAcadPViewport_put_TwistAngle(This,angle)	\
    ( (This)->lpVtbl -> put_TwistAngle(This,angle) ) 

#define IAcadPViewport_get_LensLength(This,Length)	\
    ( (This)->lpVtbl -> get_LensLength(This,Length) ) 

#define IAcadPViewport_put_LensLength(This,Length)	\
    ( (This)->lpVtbl -> put_LensLength(This,Length) ) 

#define IAcadPViewport_get_RemoveHiddenLines(This,bRemoval)	\
    ( (This)->lpVtbl -> get_RemoveHiddenLines(This,bRemoval) ) 

#define IAcadPViewport_put_RemoveHiddenLines(This,bRemoval)	\
    ( (This)->lpVtbl -> put_RemoveHiddenLines(This,bRemoval) ) 

#define IAcadPViewport_get_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> get_Target(This,targetPoint) ) 

#define IAcadPViewport_put_Target(This,targetPoint)	\
    ( (This)->lpVtbl -> put_Target(This,targetPoint) ) 

#define IAcadPViewport_get_ArcSmoothness(This,arcSmooth)	\
    ( (This)->lpVtbl -> get_ArcSmoothness(This,arcSmooth) ) 

#define IAcadPViewport_put_ArcSmoothness(This,arcSmooth)	\
    ( (This)->lpVtbl -> put_ArcSmoothness(This,arcSmooth) ) 

#define IAcadPViewport_get_VisualStyle(This,pVisualStyleIndex)	\
    ( (This)->lpVtbl -> get_VisualStyle(This,pVisualStyleIndex) ) 

#define IAcadPViewport_put_VisualStyle(This,visualStyleIndex)	\
    ( (This)->lpVtbl -> put_VisualStyle(This,visualStyleIndex) ) 

#define IAcadPViewport_get_ShadePlot(This,pShadePlotIndex)	\
    ( (This)->lpVtbl -> get_ShadePlot(This,pShadePlotIndex) ) 

#define IAcadPViewport_put_ShadePlot(This,shadePlotIndex)	\
    ( (This)->lpVtbl -> put_ShadePlot(This,shadePlotIndex) ) 

#define IAcadPViewport_get_ModelView(This,View)	\
    ( (This)->lpVtbl -> get_ModelView(This,View) ) 

#define IAcadPViewport_put_ModelView(This,View)	\
    ( (This)->lpVtbl -> put_ModelView(This,View) ) 

#define IAcadPViewport_get_SheetView(This,View)	\
    ( (This)->lpVtbl -> get_SheetView(This,View) ) 

#define IAcadPViewport_put_SheetView(This,View)	\
    ( (This)->lpVtbl -> put_SheetView(This,View) ) 

#define IAcadPViewport_get_LabelBlockId(This,ObjectID)	\
    ( (This)->lpVtbl -> get_LabelBlockId(This,ObjectID) ) 

#define IAcadPViewport_put_LabelBlockId(This,ObjectID)	\
    ( (This)->lpVtbl -> put_LabelBlockId(This,ObjectID) ) 

#define IAcadPViewport_get_HasSheetView(This,bSheetView)	\
    ( (This)->lpVtbl -> get_HasSheetView(This,bSheetView) ) 

#define IAcadPViewport_SyncModelView(This)	\
    ( (This)->lpVtbl -> SyncModelView(This) ) 

#define IAcadPViewport_get_StandardScale2(This,scale)	\
    ( (This)->lpVtbl -> get_StandardScale2(This,scale) ) 

#define IAcadPViewport_put_StandardScale2(This,scale)	\
    ( (This)->lpVtbl -> put_StandardScale2(This,scale) ) 

#define IAcadPViewport_get_LayerPropertyOverrides(This,bOverrides)	\
    ( (This)->lpVtbl -> get_LayerPropertyOverrides(This,bOverrides) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPViewport_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPViewport,0x61A6F246,0xCAD2,0x4846,0xA5,0x1B,0x8C,0xF4,0x1E,0xB7,0x80,0x5F);

#ifdef __cplusplus

class DECLSPEC_UUID("61A6F246-CAD2-4846-A51B-8CF41EB7805F")
AcadPViewport;
#endif

#ifndef __IAcadMInsertBlock_INTERFACE_DEFINED__
#define __IAcadMInsertBlock_INTERFACE_DEFINED__

/* interface IAcadMInsertBlock */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMInsertBlock,0x671CAC71,0xD3D8,0x469E,0x8B,0xC7,0x41,0xDE,0x64,0xC2,0x17,0x7C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("671CAC71-D3D8-469E-8BC7-41DE64C2177C")
    IAcadMInsertBlock : public IAcadBlockReference
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Columns( 
            /* [in] */ long NumColumns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Columns( 
            /* [retval][out] */ long *NumColumns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ColumnSpacing( 
            /* [in] */ double Spacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ColumnSpacing( 
            /* [retval][out] */ double *Spacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rows( 
            /* [in] */ long NumRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rows( 
            /* [retval][out] */ long *NumRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RowSpacing( 
            /* [in] */ double Spacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RowSpacing( 
            /* [retval][out] */ double *Spacing) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMInsertBlockVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMInsertBlock * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMInsertBlock * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMInsertBlock * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMInsertBlock * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMInsertBlock * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMInsertBlock * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMInsertBlock * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMInsertBlock * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMInsertBlock * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadMInsertBlock * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadMInsertBlock * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadMInsertBlock * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadMInsertBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadMInsertBlock * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadMInsertBlock * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadMInsertBlock * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributes )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetConstantAttributes )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasAttributes )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT_BOOL *bHas);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EffectiveName )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *effectiveName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDynamicBlockProperties )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ VARIANT *dynamicPropertyArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetBlock )( 
            IAcadMInsertBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToAnonymousBlock )( 
            IAcadMInsertBlock * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToStaticBlock )( 
            IAcadMInsertBlock * This,
            /* [in] */ BSTR newBlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZEffectiveScaleFactor )( 
            IAcadMInsertBlock * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnits )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ BSTR *units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnitsFactor )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Columns )( 
            IAcadMInsertBlock * This,
            /* [in] */ long NumColumns);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Columns )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ long *NumColumns);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColumnSpacing )( 
            IAcadMInsertBlock * This,
            /* [in] */ double Spacing);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColumnSpacing )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ double *Spacing);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rows )( 
            IAcadMInsertBlock * This,
            /* [in] */ long NumRows);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rows )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ long *NumRows);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RowSpacing )( 
            IAcadMInsertBlock * This,
            /* [in] */ double Spacing);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RowSpacing )( 
            IAcadMInsertBlock * This,
            /* [retval][out] */ double *Spacing);
        
        END_INTERFACE
    } IAcadMInsertBlockVtbl;

    interface IAcadMInsertBlock
    {
        CONST_VTBL struct IAcadMInsertBlockVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMInsertBlock_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMInsertBlock_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMInsertBlock_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMInsertBlock_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMInsertBlock_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMInsertBlock_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMInsertBlock_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMInsertBlock_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMInsertBlock_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMInsertBlock_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMInsertBlock_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMInsertBlock_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMInsertBlock_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMInsertBlock_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMInsertBlock_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMInsertBlock_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMInsertBlock_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMInsertBlock_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMInsertBlock_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMInsertBlock_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMInsertBlock_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadMInsertBlock_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadMInsertBlock_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadMInsertBlock_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadMInsertBlock_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadMInsertBlock_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadMInsertBlock_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadMInsertBlock_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadMInsertBlock_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadMInsertBlock_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadMInsertBlock_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadMInsertBlock_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadMInsertBlock_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadMInsertBlock_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadMInsertBlock_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadMInsertBlock_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadMInsertBlock_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadMInsertBlock_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadMInsertBlock_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadMInsertBlock_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadMInsertBlock_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadMInsertBlock_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadMInsertBlock_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadMInsertBlock_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadMInsertBlock_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadMInsertBlock_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadMInsertBlock_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadMInsertBlock_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadMInsertBlock_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadMInsertBlock_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadMInsertBlock_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadMInsertBlock_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadMInsertBlock_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadMInsertBlock_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadMInsertBlock_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadMInsertBlock_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadMInsertBlock_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadMInsertBlock_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadMInsertBlock_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadMInsertBlock_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadMInsertBlock_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadMInsertBlock_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadMInsertBlock_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadMInsertBlock_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadMInsertBlock_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadMInsertBlock_get_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_get_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_get_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadMInsertBlock_GetAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetAttributes(This,pAttrObjs) ) 

#define IAcadMInsertBlock_GetConstantAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetConstantAttributes(This,pAttrObjs) ) 

#define IAcadMInsertBlock_get_HasAttributes(This,bHas)	\
    ( (This)->lpVtbl -> get_HasAttributes(This,bHas) ) 

#define IAcadMInsertBlock_get_EffectiveName(This,effectiveName)	\
    ( (This)->lpVtbl -> get_EffectiveName(This,effectiveName) ) 

#define IAcadMInsertBlock_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadMInsertBlock_GetDynamicBlockProperties(This,dynamicPropertyArray)	\
    ( (This)->lpVtbl -> GetDynamicBlockProperties(This,dynamicPropertyArray) ) 

#define IAcadMInsertBlock_ResetBlock(This)	\
    ( (This)->lpVtbl -> ResetBlock(This) ) 

#define IAcadMInsertBlock_ConvertToAnonymousBlock(This)	\
    ( (This)->lpVtbl -> ConvertToAnonymousBlock(This) ) 

#define IAcadMInsertBlock_ConvertToStaticBlock(This,newBlockName)	\
    ( (This)->lpVtbl -> ConvertToStaticBlock(This,newBlockName) ) 

#define IAcadMInsertBlock_get_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_get_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_get_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_put_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadMInsertBlock_get_InsUnits(This,units)	\
    ( (This)->lpVtbl -> get_InsUnits(This,units) ) 

#define IAcadMInsertBlock_get_InsUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_InsUnitsFactor(This,factor) ) 


#define IAcadMInsertBlock_put_Columns(This,NumColumns)	\
    ( (This)->lpVtbl -> put_Columns(This,NumColumns) ) 

#define IAcadMInsertBlock_get_Columns(This,NumColumns)	\
    ( (This)->lpVtbl -> get_Columns(This,NumColumns) ) 

#define IAcadMInsertBlock_put_ColumnSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> put_ColumnSpacing(This,Spacing) ) 

#define IAcadMInsertBlock_get_ColumnSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> get_ColumnSpacing(This,Spacing) ) 

#define IAcadMInsertBlock_put_Rows(This,NumRows)	\
    ( (This)->lpVtbl -> put_Rows(This,NumRows) ) 

#define IAcadMInsertBlock_get_Rows(This,NumRows)	\
    ( (This)->lpVtbl -> get_Rows(This,NumRows) ) 

#define IAcadMInsertBlock_put_RowSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> put_RowSpacing(This,Spacing) ) 

#define IAcadMInsertBlock_get_RowSpacing(This,Spacing)	\
    ( (This)->lpVtbl -> get_RowSpacing(This,Spacing) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMInsertBlock_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMInsertBlock,0x1F62A2EC,0x2B8E,0x4CBB,0x81,0xD6,0x74,0x23,0xB3,0xC3,0x49,0x6B);

#ifdef __cplusplus

class DECLSPEC_UUID("1F62A2EC-2B8E-4CBB-81D6-7423B3C3496B")
AcadMInsertBlock;
#endif

#ifndef __IAcadPolyfaceMesh_INTERFACE_DEFINED__
#define __IAcadPolyfaceMesh_INTERFACE_DEFINED__

/* interface IAcadPolyfaceMesh */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPolyfaceMesh,0x48B71EC2,0x195B,0x4C8F,0xB0,0x30,0xA4,0x3A,0xEB,0xCC,0x1E,0x18);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("48B71EC2-195B-4C8F-B030-A43AEBCC1E18")
    IAcadPolyfaceMesh : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT Vertices) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *Vertices) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfVertices( 
            /* [retval][out] */ long *NumVertices) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfFaces( 
            /* [retval][out] */ long *NumFaces) = 0;
        
        virtual /* [hidden][id][propput] */ HRESULT STDMETHODCALLTYPE put_Faces( 
            /* [in] */ VARIANT Faces) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPolyfaceMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPolyfaceMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPolyfaceMesh * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPolyfaceMesh * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPolyfaceMesh * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPolyfaceMesh * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPolyfaceMesh * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPolyfaceMesh * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPolyfaceMesh * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT Vertices);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ VARIANT *Vertices);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfVertices )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ long *NumVertices);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfFaces )( 
            IAcadPolyfaceMesh * This,
            /* [retval][out] */ long *NumFaces);
        
        /* [hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Faces )( 
            IAcadPolyfaceMesh * This,
            /* [in] */ VARIANT Faces);
        
        END_INTERFACE
    } IAcadPolyfaceMeshVtbl;

    interface IAcadPolyfaceMesh
    {
        CONST_VTBL struct IAcadPolyfaceMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPolyfaceMesh_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPolyfaceMesh_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPolyfaceMesh_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPolyfaceMesh_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPolyfaceMesh_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPolyfaceMesh_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPolyfaceMesh_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPolyfaceMesh_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPolyfaceMesh_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPolyfaceMesh_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPolyfaceMesh_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPolyfaceMesh_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPolyfaceMesh_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPolyfaceMesh_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPolyfaceMesh_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPolyfaceMesh_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPolyfaceMesh_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPolyfaceMesh_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPolyfaceMesh_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPolyfaceMesh_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPolyfaceMesh_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPolyfaceMesh_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPolyfaceMesh_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPolyfaceMesh_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPolyfaceMesh_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPolyfaceMesh_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPolyfaceMesh_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPolyfaceMesh_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPolyfaceMesh_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPolyfaceMesh_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPolyfaceMesh_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPolyfaceMesh_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPolyfaceMesh_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPolyfaceMesh_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPolyfaceMesh_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPolyfaceMesh_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPolyfaceMesh_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPolyfaceMesh_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPolyfaceMesh_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPolyfaceMesh_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPolyfaceMesh_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPolyfaceMesh_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPolyfaceMesh_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPolyfaceMesh_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPolyfaceMesh_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPolyfaceMesh_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPolyfaceMesh_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPolyfaceMesh_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPolyfaceMesh_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPolyfaceMesh_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPolyfaceMesh_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPolyfaceMesh_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPolyfaceMesh_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPolyfaceMesh_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPolyfaceMesh_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPolyfaceMesh_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPolyfaceMesh_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPolyfaceMesh_put_Coordinates(This,Vertices)	\
    ( (This)->lpVtbl -> put_Coordinates(This,Vertices) ) 

#define IAcadPolyfaceMesh_get_Coordinates(This,Vertices)	\
    ( (This)->lpVtbl -> get_Coordinates(This,Vertices) ) 

#define IAcadPolyfaceMesh_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadPolyfaceMesh_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcadPolyfaceMesh_get_NumberOfVertices(This,NumVertices)	\
    ( (This)->lpVtbl -> get_NumberOfVertices(This,NumVertices) ) 

#define IAcadPolyfaceMesh_get_NumberOfFaces(This,NumFaces)	\
    ( (This)->lpVtbl -> get_NumberOfFaces(This,NumFaces) ) 

#define IAcadPolyfaceMesh_put_Faces(This,Faces)	\
    ( (This)->lpVtbl -> put_Faces(This,Faces) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPolyfaceMesh_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPolyfaceMesh,0x0584DCCD,0xCA95,0x448E,0xB4,0x99,0xB5,0xC8,0x44,0xD6,0x82,0x18);

#ifdef __cplusplus

class DECLSPEC_UUID("0584DCCD-CA95-448E-B499-B5C844D68218")
AcadPolyfaceMesh;
#endif

#ifndef __IAcadMLine_INTERFACE_DEFINED__
#define __IAcadMLine_INTERFACE_DEFINED__

/* interface IAcadMLine */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadMLine,0x09584E79,0xD4F9,0x4241,0xAF,0x48,0xDC,0x14,0xA9,0xB0,0x23,0x3C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09584E79-D4F9-4241-AF48-DC14A9B0233C")
    IAcadMLine : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *vertices) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT vertices) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Justification( 
            /* [retval][out] */ AcMLineJustification *justification) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Justification( 
            /* [in] */ AcMLineJustification justification) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MLineScale( 
            /* [retval][out] */ double *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MLineScale( 
            /* [in] */ double scale) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMLineVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMLine * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMLine * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMLine * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMLine * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMLine * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMLine * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMLine * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadMLine * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadMLine * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadMLine * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadMLine * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMLine * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadMLine * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadMLine * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadMLine * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadMLine * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadMLine * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadMLine * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadMLine * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadMLine * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadMLine * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadMLine * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadMLine * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadMLine * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadMLine * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadMLine * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadMLine * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadMLine * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadMLine * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadMLine * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadMLine * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadMLine * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadMLine * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadMLine * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadMLine * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadMLine * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadMLine * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadMLine * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadMLine * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadMLine * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadMLine * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadMLine * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadMLine * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadMLine * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadMLine * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadMLine * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadMLine * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadMLine * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadMLine * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadMLine * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadMLine * This,
            /* [retval][out] */ VARIANT *vertices);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadMLine * This,
            /* [in] */ VARIANT vertices);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Justification )( 
            IAcadMLine * This,
            /* [retval][out] */ AcMLineJustification *justification);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Justification )( 
            IAcadMLine * This,
            /* [in] */ AcMLineJustification justification);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MLineScale )( 
            IAcadMLine * This,
            /* [retval][out] */ double *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MLineScale )( 
            IAcadMLine * This,
            /* [in] */ double scale);
        
        END_INTERFACE
    } IAcadMLineVtbl;

    interface IAcadMLine
    {
        CONST_VTBL struct IAcadMLineVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMLine_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMLine_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMLine_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMLine_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMLine_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMLine_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMLine_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMLine_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadMLine_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadMLine_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadMLine_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadMLine_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadMLine_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadMLine_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadMLine_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadMLine_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadMLine_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadMLine_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadMLine_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadMLine_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadMLine_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadMLine_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadMLine_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadMLine_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadMLine_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadMLine_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadMLine_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadMLine_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadMLine_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadMLine_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadMLine_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadMLine_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadMLine_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadMLine_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadMLine_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadMLine_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadMLine_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadMLine_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadMLine_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadMLine_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadMLine_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadMLine_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadMLine_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadMLine_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadMLine_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadMLine_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadMLine_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadMLine_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadMLine_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadMLine_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadMLine_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadMLine_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadMLine_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadMLine_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadMLine_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadMLine_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadMLine_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadMLine_get_StyleName(This,Name)	\
    ( (This)->lpVtbl -> get_StyleName(This,Name) ) 

#define IAcadMLine_get_Coordinates(This,vertices)	\
    ( (This)->lpVtbl -> get_Coordinates(This,vertices) ) 

#define IAcadMLine_put_Coordinates(This,vertices)	\
    ( (This)->lpVtbl -> put_Coordinates(This,vertices) ) 

#define IAcadMLine_get_Justification(This,justification)	\
    ( (This)->lpVtbl -> get_Justification(This,justification) ) 

#define IAcadMLine_put_Justification(This,justification)	\
    ( (This)->lpVtbl -> put_Justification(This,justification) ) 

#define IAcadMLine_get_MLineScale(This,scale)	\
    ( (This)->lpVtbl -> get_MLineScale(This,scale) ) 

#define IAcadMLine_put_MLineScale(This,scale)	\
    ( (This)->lpVtbl -> put_MLineScale(This,scale) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMLine_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMLine,0x9FAA7B3C,0xE13D,0x4D07,0xB7,0x7D,0xCB,0x1D,0xC3,0xA4,0xE3,0xE5);

#ifdef __cplusplus

class DECLSPEC_UUID("9FAA7B3C-E13D-4D07-B77D-CB1DC3A4E3E5")
AcadMLine;
#endif

#ifndef __IAcadExternalReference_INTERFACE_DEFINED__
#define __IAcadExternalReference_INTERFACE_DEFINED__

/* interface IAcadExternalReference */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadExternalReference,0x87CD3F20,0x3CA2,0x4776,0x82,0xED,0x45,0xA4,0x05,0xA5,0xE3,0xAE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87CD3F20-3CA2-4776-82ED-45A405A5E3AE")
    IAcadExternalReference : public IAcadBlockReference
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR bstrName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadExternalReferenceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadExternalReference * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadExternalReference * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadExternalReference * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadExternalReference * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadExternalReference * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadExternalReference * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadExternalReference * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadExternalReference * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadExternalReference * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadExternalReference * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadExternalReference * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadExternalReference * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadExternalReference * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadExternalReference * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadExternalReference * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadExternalReference * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadExternalReference * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadExternalReference * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadExternalReference * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadExternalReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadExternalReference * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadExternalReference * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadExternalReference * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadExternalReference * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadExternalReference * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Explode )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttributes )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetConstantAttributes )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *pAttrObjs);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasAttributes )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT_BOOL *bHas);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EffectiveName )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *effectiveName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDynamicBlockProperties )( 
            IAcadExternalReference * This,
            /* [retval][out] */ VARIANT *dynamicPropertyArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetBlock )( 
            IAcadExternalReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToAnonymousBlock )( 
            IAcadExternalReference * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ConvertToStaticBlock )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR newBlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_YEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_YEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ZEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ZEffectiveScaleFactor )( 
            IAcadExternalReference * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnits )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsUnitsFactor )( 
            IAcadExternalReference * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadExternalReference * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IAcadExternalReference * This,
            /* [in] */ BSTR bstrName);
        
        END_INTERFACE
    } IAcadExternalReferenceVtbl;

    interface IAcadExternalReference
    {
        CONST_VTBL struct IAcadExternalReferenceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadExternalReference_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadExternalReference_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadExternalReference_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadExternalReference_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadExternalReference_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadExternalReference_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadExternalReference_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadExternalReference_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadExternalReference_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadExternalReference_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadExternalReference_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadExternalReference_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadExternalReference_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadExternalReference_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadExternalReference_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadExternalReference_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadExternalReference_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadExternalReference_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadExternalReference_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadExternalReference_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadExternalReference_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadExternalReference_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadExternalReference_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadExternalReference_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadExternalReference_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadExternalReference_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadExternalReference_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadExternalReference_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadExternalReference_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadExternalReference_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadExternalReference_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadExternalReference_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadExternalReference_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadExternalReference_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadExternalReference_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadExternalReference_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadExternalReference_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadExternalReference_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadExternalReference_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadExternalReference_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadExternalReference_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadExternalReference_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadExternalReference_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadExternalReference_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadExternalReference_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadExternalReference_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadExternalReference_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadExternalReference_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadExternalReference_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadExternalReference_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadExternalReference_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadExternalReference_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadExternalReference_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadExternalReference_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadExternalReference_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadExternalReference_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadExternalReference_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadExternalReference_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadExternalReference_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadExternalReference_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadExternalReference_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadExternalReference_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadExternalReference_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadExternalReference_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadExternalReference_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadExternalReference_get_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_XScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_get_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_YScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_get_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_ZScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_Explode(This,pArrayObjs)	\
    ( (This)->lpVtbl -> Explode(This,pArrayObjs) ) 

#define IAcadExternalReference_GetAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetAttributes(This,pAttrObjs) ) 

#define IAcadExternalReference_GetConstantAttributes(This,pAttrObjs)	\
    ( (This)->lpVtbl -> GetConstantAttributes(This,pAttrObjs) ) 

#define IAcadExternalReference_get_HasAttributes(This,bHas)	\
    ( (This)->lpVtbl -> get_HasAttributes(This,bHas) ) 

#define IAcadExternalReference_get_EffectiveName(This,effectiveName)	\
    ( (This)->lpVtbl -> get_EffectiveName(This,effectiveName) ) 

#define IAcadExternalReference_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadExternalReference_GetDynamicBlockProperties(This,dynamicPropertyArray)	\
    ( (This)->lpVtbl -> GetDynamicBlockProperties(This,dynamicPropertyArray) ) 

#define IAcadExternalReference_ResetBlock(This)	\
    ( (This)->lpVtbl -> ResetBlock(This) ) 

#define IAcadExternalReference_ConvertToAnonymousBlock(This)	\
    ( (This)->lpVtbl -> ConvertToAnonymousBlock(This) ) 

#define IAcadExternalReference_ConvertToStaticBlock(This,newBlockName)	\
    ( (This)->lpVtbl -> ConvertToStaticBlock(This,newBlockName) ) 

#define IAcadExternalReference_get_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_XEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_XEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_get_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_YEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_YEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_get_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_put_ZEffectiveScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ZEffectiveScaleFactor(This,scaleFactor) ) 

#define IAcadExternalReference_get_InsUnits(This,units)	\
    ( (This)->lpVtbl -> get_InsUnits(This,units) ) 

#define IAcadExternalReference_get_InsUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_InsUnitsFactor(This,factor) ) 


#define IAcadExternalReference_get_Path(This,bstrName)	\
    ( (This)->lpVtbl -> get_Path(This,bstrName) ) 

#define IAcadExternalReference_put_Path(This,bstrName)	\
    ( (This)->lpVtbl -> put_Path(This,bstrName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadExternalReference_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadExternalReference,0x8E462A4E,0x6221,0x4C8A,0x87,0xF0,0x2A,0x0E,0x96,0xF8,0xB4,0xFB);

#ifdef __cplusplus

class DECLSPEC_UUID("8E462A4E-6221-4C8A-87F0-2A0E96F8B4FB")
AcadExternalReference;
#endif

#ifndef __IAcadTable_INTERFACE_DEFINED__
#define __IAcadTable_INTERFACE_DEFINED__

/* interface IAcadTable */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadTable,0x48695AAF,0x1F29,0x4EE4,0xA3,0xE7,0x10,0x20,0x8F,0x4A,0xFF,0x9E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("48695AAF-1F29-4EE4-A3E7-10208F4AFF9E")
    IAcadTable : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rows( 
            /* [retval][out] */ int *pRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rows( 
            /* [in] */ int nRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Columns( 
            /* [retval][out] */ int *pColumns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Columns( 
            /* [in] */ int nColumns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FlowDirection( 
            /* [retval][out] */ AcTableDirection *pFlow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FlowDirection( 
            /* [in] */ AcTableDirection flow) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *pWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double fWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double fRowHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VertCellMargin( 
            /* [retval][out] */ double *pGap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VertCellMargin( 
            /* [in] */ double gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorzCellMargin( 
            /* [retval][out] */ double *pGap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorzCellMargin( 
            /* [in] */ double gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetColumnWidth( 
            /* [in] */ int col,
            /* [retval][out] */ double *pWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetColumnWidth( 
            /* [in] */ int col,
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ColumnWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRowHeight( 
            /* [in] */ int row,
            /* [retval][out] */ double *pheight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetRowHeight( 
            /* [in] */ int row,
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RowHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetMinimumColumnWidth( 
            /* [in] */ int col,
            /* [retval][out] */ double *pWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetMinimumRowHeight( 
            /* [in] */ int row,
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MinimumTableWidth( 
            /* [retval][out] */ double *pWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MinimumTableHeight( 
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ VARIANT *directionVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Direction( 
            /* [in] */ VARIANT directionVector) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TitleSuppressed( 
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TitleSuppressed( 
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HeaderSuppressed( 
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HeaderSuppressed( 
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAlignment( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ AcCellAlignment *pCellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAlignment( 
            /* [in] */ int rowTypes,
            /* [in] */ AcCellAlignment cellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBackgroundColorNone( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundColorNone( 
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBackgroundColor( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBackgroundColor( 
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetContentColor( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetContentColor( 
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextStyle( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextStyle( 
            /* [in] */ int rowTypes,
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextHeight( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ double *pTextHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextHeight( 
            /* [in] */ int rowTypes,
            /* [in] */ double textHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLineWeight( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLineWeight( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridColor( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridColor( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridVisibility( 
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridVisibility( 
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TableStyleOverrides( 
            /* [retval][out] */ VARIANT *pIntArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearTableStyleOverrides( 
            /* [in] */ int flag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellType( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellType *pCellType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellType( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellType CellType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellExtents( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL bOuterCell,
            /* [retval][out] */ VARIANT *pPts) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAttachmentPoint( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pAttachmentPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellAlignment( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellAlignment *pCellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellAlignment( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellAlignment cellAlignment) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellBackgroundColorNone( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellBackgroundColorNone( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellBackgroundColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellBackgroundColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellContentColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellContentColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellStyleOverrides( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pIntArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteCellContent( 
            /* [in] */ int row,
            /* [in] */ int col) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRowType( 
            /* [in] */ int row,
            /* [retval][out] */ AcRowType *pRowType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetText( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *pStr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetText( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR pStr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellTextStyle( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellTextStyle( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellTextHeight( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *pTextHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellTextHeight( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double textHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextRotation( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcRotationAngle *textRotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextRotation( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcRotationAngle textRotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAutoScale( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAutoScale( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockTableRecordId( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ LONG_PTR *blkId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockTableRecordId( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ VARIANT_BOOL bAutoFit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockScale( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *blkScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockScale( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double blkScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockRotation( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *blkRotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockRotation( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double blkRotation) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockAttributeValue( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR attdefId,
            /* [retval][out] */ BSTR *bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockAttributeValue( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR attdefId,
            /* [in] */ BSTR bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellGridLineWeight( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ ACAD_LWEIGHT *plineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellGridLineWeight( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ ACAD_LWEIGHT lineweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellGridColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellGridColor( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellGridVisibility( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellGridVisibility( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertColumns( 
            /* [in] */ int col,
            /* [in] */ double width,
            /* [in] */ int cols) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteColumns( 
            /* [in] */ int col,
            /* [in] */ int cols) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertRows( 
            /* [in] */ int row,
            /* [in] */ double height,
            /* [in] */ int rows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteRows( 
            /* [in] */ int row,
            /* [in] */ int rows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MergeCells( 
            /* [in] */ int minRow,
            /* [in] */ int maxRow,
            /* [in] */ int minCol,
            /* [in] */ int maxCol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UnmergeCells( 
            /* [in] */ int minRow,
            /* [in] */ int maxRow,
            /* [in] */ int minCol,
            /* [in] */ int maxCol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IsMergedCell( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [out] */ int *minRow,
            /* [out] */ int *maxRow,
            /* [out] */ int *minCol,
            /* [out] */ int *maxCol,
            /* [retval][out] */ VARIANT_BOOL *pbValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFieldId( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ LONG_PTR *fieldId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFieldId( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR fieldId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GenerateLayout( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RecomputeTableBlock( 
            /* [in] */ VARIANT_BOOL bForceUpdate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE HitTest( 
            /* [in] */ VARIANT wpt,
            /* [in] */ VARIANT wviewVec,
            /* [out] */ int *resultRowIndex,
            /* [out] */ int *resultColumnIndex,
            /* [retval][out] */ VARIANT_BOOL *bReturn) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ VARIANT wpt,
            /* [in] */ VARIANT wvwVec,
            /* [in] */ VARIANT wvwxVec,
            /* [in] */ double wxaper,
            /* [in] */ double wyaper,
            /* [in] */ VARIANT_BOOL allowOutside,
            /* [out] */ int *resultRowIndex,
            /* [out] */ int *resultColumnIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectSubRegion( 
            /* [in] */ VARIANT wpt1,
            /* [in] */ VARIANT wpt2,
            /* [in] */ VARIANT wvwVec,
            /* [in] */ VARIANT wvwxVec,
            /* [in] */ AcSelectType seltype,
            /* [in] */ VARIANT_BOOL bIncludeCurrentSelection,
            /* [out] */ int *rowMin,
            /* [out] */ int *rowMax,
            /* [out] */ int *colMin,
            /* [out] */ int *colMax) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ReselectSubRegion( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetSubSelection( 
            /* [out] */ int *rowMin,
            /* [out] */ int *rowMax,
            /* [out] */ int *colMin,
            /* [out] */ int *colMax) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetSubSelection( 
            /* [in] */ int rowMin,
            /* [in] */ int rowMax,
            /* [in] */ int colMin,
            /* [in] */ int colMax) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClearSubSelection( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasSubSelection( 
            /* [retval][out] */ VARIANT_BOOL *pbValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RegenerateTableSuppressed( 
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RegenerateTableSuppressed( 
            /* [in] */ VARIANT_BOOL bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDataType( 
            /* [in] */ AcRowType rowType,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDataType( 
            /* [in] */ int rowTypes,
            /* [in] */ AcValueDataType dataType,
            /* [in] */ AcValueUnitType unitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFormat( 
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *pFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFormat( 
            /* [in] */ int rowTypes,
            BSTR pFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE FormatValue( 
            /* [in] */ int row,
            /* [in] */ int col,
            AcFormatOption nOption,
            BSTR *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellDataType( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellDataType( 
            /* [in] */ int row,
            /* [in] */ int col,
            AcValueDataType dataType,
            AcValueUnitType unitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellFormat( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *pFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellFormat( 
            /* [in] */ int row,
            /* [in] */ int col,
            BSTR pFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellValue( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellValue( 
            /* [in] */ int row,
            /* [in] */ int col,
            VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellValueFromText( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR val,
            /* [in] */ AcParseOption nOption) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ResetCellValue( 
            /* [in] */ int row,
            /* [in] */ int col) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IsEmpty( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateContent( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nIndex,
            /* [retval][out] */ int *pInt) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE MoveContent( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nFromIndex,
            /* [in] */ int nToIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE DeleteContent( 
            /* [in] */ int nRow,
            /* [in] */ int nCol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetValue( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT *pAcValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetValue( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ VARIANT acValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetValueFromText( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR szText,
            /* [in] */ AcParseOption nOption) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDataFormat( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDataFormat( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR szFormat) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextString( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pTextString) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextString( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR text) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFieldId2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ LONG_PTR *pAcDbObjectId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFieldId2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR acDbObjectId,
            /* [in] */ AcCellOption nflag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockTableRecordId2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ LONG_PTR *pAcDbObjectId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockTableRecordId2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ VARIANT_BOOL autoFit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBlockAttributeValue2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBlockAttributeValue2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCustomData( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szKey,
            /* [out] */ VARIANT *pData) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCustomData( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szKey,
            /* [in] */ VARIANT data) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellStyle( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ BSTR *pCellStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellStyle( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szCellStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetContentColor2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetContentColor2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetDataType2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetDataType2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ AcValueDataType dataType,
            /* [in] */ AcValueUnitType unitType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextStyle2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pbstrStyleName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextStyle2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR bstrStyleName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetTextHeight2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetTextHeight2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetRotation( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetRotation( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAutoScale2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT_BOOL *bAutoScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetAutoScale2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ VARIANT_BOOL bAutoFit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetScale( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pScale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetScale( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveAllOverrides( 
            /* [in] */ int nRow,
            /* [in] */ int nCol) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLineWeight2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ ACAD_LWEIGHT *pLineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLineWeight2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ ACAD_LWEIGHT lineWeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLinetype( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ LONG_PTR *pacDbObjId) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLinetype( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ LONG_PTR idLinetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridColor2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridColor2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridVisibility2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ VARIANT_BOOL *bVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridVisibility2( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ VARIANT_BOOL bVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridDoubleLineSpacing( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ double *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridDoubleLineSpacing( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ double fSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EnableBreak( 
            /* [in] */ VARIANT_BOOL bEnable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetBreakHeight( 
            /* [in] */ int nIndex,
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetBreakHeight( 
            /* [in] */ int nIndex,
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetContentType( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ AcCellContentType *pType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetMargin( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellMargin nMargin,
            /* [retval][out] */ double *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetMargin( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellMargin nMargins,
            /* [in] */ double fMargin) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetContentLayout( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellContentLayout *pLayout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetContentLayout( 
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellContentLayout nLayout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetOverride( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ AcCellProperty *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetOverride( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ AcCellProperty nProp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetGridLineStyle( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ AcGridLineStyle *pStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetGridLineStyle( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineTypes,
            /* [in] */ AcGridLineStyle nLineStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertRowsAndInherit( 
            /* [in] */ int nIndex,
            /* [in] */ int nInheritFrom,
            /* [in] */ int nNumRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE InsertColumnsAndInherit( 
            /* [in] */ int col,
            /* [in] */ int nInheritFrom,
            /* [in] */ int nNumCols) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetHasFormula( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetFormula( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pszFormula) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetFormula( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR pszFormula) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IsContentEditable( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IsFormatEditable( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCellState( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ AcCellState *pCellState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCellState( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellState nLock) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE EnableMergeAll( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ VARIANT_BOOL bEnable) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IsMergeAllEnabled( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BreaksEnabled( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BreaksEnabled( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RepeatTopLabels( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RepeatTopLabels( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RepeatBottomLabels( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RepeatBottomLabels( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TableBreakFlowDirection( 
            /* [retval][out] */ AcTableFlowDirection *pDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TableBreakFlowDirection( 
            /* [in] */ AcTableFlowDirection dir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AllowManualPositions( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AllowManualPositions( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AllowManualHeights( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AllowManualHeights( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TableBreakHeight( 
            /* [retval][out] */ double *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TableBreakHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BreakSpacing( 
            /* [retval][out] */ double *pSpacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BreakSpacing( 
            /* [in] */ double spacing) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetColumnName( 
            /* [in] */ int nIndex,
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetColumnName( 
            /* [in] */ int nIndex,
            /* [in] */ BSTR name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetToolTip( 
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR tip) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadTableVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadTable * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadTable * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadTable * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadTable * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadTable * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadTable * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadTable * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadTable * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadTable * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadTable * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadTable * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadTable * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadTable * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadTable * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadTable * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadTable * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadTable * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadTable * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadTable * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadTable * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadTable * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadTable * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadTable * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadTable * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadTable * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadTable * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadTable * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadTable * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadTable * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadTable * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadTable * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadTable * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadTable * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadTable * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadTable * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadTable * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadTable * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadTable * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadTable * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadTable * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadTable * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadTable * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadTable * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadTable * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rows )( 
            IAcadTable * This,
            /* [retval][out] */ int *pRows);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rows )( 
            IAcadTable * This,
            /* [in] */ int nRows);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Columns )( 
            IAcadTable * This,
            /* [retval][out] */ int *pColumns);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Columns )( 
            IAcadTable * This,
            /* [in] */ int nColumns);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FlowDirection )( 
            IAcadTable * This,
            /* [retval][out] */ AcTableDirection *pFlow);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FlowDirection )( 
            IAcadTable * This,
            /* [in] */ AcTableDirection flow);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadTable * This,
            /* [retval][out] */ double *pWidth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadTable * This,
            /* [in] */ double fWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadTable * This,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadTable * This,
            /* [in] */ double fRowHeight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VertCellMargin )( 
            IAcadTable * This,
            /* [retval][out] */ double *pGap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VertCellMargin )( 
            IAcadTable * This,
            /* [in] */ double gap);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorzCellMargin )( 
            IAcadTable * This,
            /* [retval][out] */ double *pGap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorzCellMargin )( 
            IAcadTable * This,
            /* [in] */ double gap);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadTable * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetColumnWidth )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [retval][out] */ double *pWidth);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetColumnWidth )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColumnWidth )( 
            IAcadTable * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRowHeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [retval][out] */ double *pheight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetRowHeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RowHeight )( 
            IAcadTable * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetMinimumColumnWidth )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [retval][out] */ double *pWidth);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetMinimumRowHeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinimumTableWidth )( 
            IAcadTable * This,
            /* [retval][out] */ double *pWidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MinimumTableHeight )( 
            IAcadTable * This,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT *directionVector);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Direction )( 
            IAcadTable * This,
            /* [in] */ VARIANT directionVector);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TitleSuppressed )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TitleSuppressed )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HeaderSuppressed )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HeaderSuppressed )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAlignment )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ AcCellAlignment *pCellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAlignment )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ AcCellAlignment cellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackgroundColorNone )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundColorNone )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBackgroundColor )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBackgroundColor )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetContentColor )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetContentColor )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextStyle )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextStyle )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextHeight )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ double *pTextHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextHeight )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ double textHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLineWeight )( 
            IAcadTable * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLineWeight )( 
            IAcadTable * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridColor )( 
            IAcadTable * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridColor )( 
            IAcadTable * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridVisibility )( 
            IAcadTable * This,
            /* [in] */ AcGridLineType gridLineType,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridVisibility )( 
            IAcadTable * This,
            /* [in] */ int gridLineTypes,
            /* [in] */ int rowTypes,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TableStyleOverrides )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT *pIntArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearTableStyleOverrides )( 
            IAcadTable * This,
            /* [in] */ int flag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellType )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellType *pCellType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellType )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellType CellType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellExtents )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL bOuterCell,
            /* [retval][out] */ VARIANT *pPts);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAttachmentPoint )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pAttachmentPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellAlignment )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellAlignment *pCellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellAlignment )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellAlignment cellAlignment);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellBackgroundColorNone )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellBackgroundColorNone )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellBackgroundColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellBackgroundColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellContentColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellContentColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellStyleOverrides )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pIntArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteCellContent )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRowType )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [retval][out] */ AcRowType *pRowType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetText )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *pStr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetText )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR pStr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellTextStyle )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellTextStyle )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellTextHeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *pTextHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellTextHeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double textHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextRotation )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcRotationAngle *textRotation);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextRotation )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcRotationAngle textRotation);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAutoScale )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAutoScale )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockTableRecordId )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ LONG_PTR *blkId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockTableRecordId )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ VARIANT_BOOL bAutoFit);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockScale )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *blkScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockScale )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double blkScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockRotation )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ double *blkRotation);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockRotation )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ double blkRotation);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockAttributeValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR attdefId,
            /* [retval][out] */ BSTR *bstrValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockAttributeValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR attdefId,
            /* [in] */ BSTR bstrValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellGridLineWeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ ACAD_LWEIGHT *plineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellGridLineWeight )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellGridColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellGridColor )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellGridVisibility )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellEdgeMask edge,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellGridVisibility )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ int edges,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertColumns )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [in] */ double width,
            /* [in] */ int cols);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteColumns )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [in] */ int cols);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertRows )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ double height,
            /* [in] */ int rows);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteRows )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int rows);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MergeCells )( 
            IAcadTable * This,
            /* [in] */ int minRow,
            /* [in] */ int maxRow,
            /* [in] */ int minCol,
            /* [in] */ int maxCol);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UnmergeCells )( 
            IAcadTable * This,
            /* [in] */ int minRow,
            /* [in] */ int maxRow,
            /* [in] */ int minCol,
            /* [in] */ int maxCol);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IsMergedCell )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [out] */ int *minRow,
            /* [out] */ int *maxRow,
            /* [out] */ int *minCol,
            /* [out] */ int *maxCol,
            /* [retval][out] */ VARIANT_BOOL *pbValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFieldId )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ LONG_PTR *fieldId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFieldId )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ LONG_PTR fieldId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateLayout )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RecomputeTableBlock )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bForceUpdate);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HitTest )( 
            IAcadTable * This,
            /* [in] */ VARIANT wpt,
            /* [in] */ VARIANT wviewVec,
            /* [out] */ int *resultRowIndex,
            /* [out] */ int *resultColumnIndex,
            /* [retval][out] */ VARIANT_BOOL *bReturn);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IAcadTable * This,
            /* [in] */ VARIANT wpt,
            /* [in] */ VARIANT wvwVec,
            /* [in] */ VARIANT wvwxVec,
            /* [in] */ double wxaper,
            /* [in] */ double wyaper,
            /* [in] */ VARIANT_BOOL allowOutside,
            /* [out] */ int *resultRowIndex,
            /* [out] */ int *resultColumnIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectSubRegion )( 
            IAcadTable * This,
            /* [in] */ VARIANT wpt1,
            /* [in] */ VARIANT wpt2,
            /* [in] */ VARIANT wvwVec,
            /* [in] */ VARIANT wvwxVec,
            /* [in] */ AcSelectType seltype,
            /* [in] */ VARIANT_BOOL bIncludeCurrentSelection,
            /* [out] */ int *rowMin,
            /* [out] */ int *rowMax,
            /* [out] */ int *colMin,
            /* [out] */ int *colMax);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ReselectSubRegion )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetSubSelection )( 
            IAcadTable * This,
            /* [out] */ int *rowMin,
            /* [out] */ int *rowMax,
            /* [out] */ int *colMin,
            /* [out] */ int *colMax);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetSubSelection )( 
            IAcadTable * This,
            /* [in] */ int rowMin,
            /* [in] */ int rowMax,
            /* [in] */ int colMin,
            /* [in] */ int colMax);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClearSubSelection )( 
            IAcadTable * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasSubSelection )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *pbValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RegenerateTableSuppressed )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RegenerateTableSuppressed )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataType )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDataType )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            /* [in] */ AcValueDataType dataType,
            /* [in] */ AcValueUnitType unitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFormat )( 
            IAcadTable * This,
            /* [in] */ AcRowType rowType,
            /* [retval][out] */ BSTR *pFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFormat )( 
            IAcadTable * This,
            /* [in] */ int rowTypes,
            BSTR pFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *FormatValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            AcFormatOption nOption,
            BSTR *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellDataType )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellDataType )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            AcValueDataType dataType,
            AcValueUnitType unitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellFormat )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ BSTR *pFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellFormat )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            BSTR pFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            VARIANT val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellValueFromText )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ BSTR val,
            /* [in] */ AcParseOption nOption);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ResetCellValue )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IsEmpty )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateContent )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nIndex,
            /* [retval][out] */ int *pInt);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *MoveContent )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nFromIndex,
            /* [in] */ int nToIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *DeleteContent )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetValue )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT *pAcValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetValue )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ VARIANT acValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetValueFromText )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR szText,
            /* [in] */ AcParseOption nOption);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataFormat )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDataFormat )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR szFormat);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextString )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pTextString);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextString )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR text);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFieldId2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ LONG_PTR *pAcDbObjectId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFieldId2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR acDbObjectId,
            /* [in] */ AcCellOption nflag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockTableRecordId2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ LONG_PTR *pAcDbObjectId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockTableRecordId2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ VARIANT_BOOL autoFit);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBlockAttributeValue2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBlockAttributeValue2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ LONG_PTR blkId,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomData )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szKey,
            /* [out] */ VARIANT *pData);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCustomData )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szKey,
            /* [in] */ VARIANT data);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellStyle )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ BSTR *pCellStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellStyle )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR szCellStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetContentColor2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetContentColor2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetDataType2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [out] */ AcValueDataType *pDataType,
            /* [out] */ AcValueUnitType *pUnitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetDataType2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ AcValueDataType dataType,
            /* [in] */ AcValueUnitType unitType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextStyle2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pbstrStyleName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextStyle2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR bstrStyleName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetTextHeight2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetTextHeight2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetRotation )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetRotation )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAutoScale2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT_BOOL *bAutoScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetAutoScale2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ VARIANT_BOOL bAutoFit);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetScale )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ double *pScale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetScale )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ double scale);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveAllOverrides )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLineWeight2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ ACAD_LWEIGHT *pLineWeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLineWeight2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ ACAD_LWEIGHT lineWeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLinetype )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ LONG_PTR *pacDbObjId);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLinetype )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ LONG_PTR idLinetype);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridColor2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridColor2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridVisibility2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridVisibility2 )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridDoubleLineSpacing )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ double *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridDoubleLineSpacing )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [in] */ double fSpacing);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableBreak )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnable);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBreakHeight )( 
            IAcadTable * This,
            /* [in] */ int nIndex,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetBreakHeight )( 
            IAcadTable * This,
            /* [in] */ int nIndex,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetContentType )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ AcCellContentType *pType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetMargin )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellMargin nMargin,
            /* [retval][out] */ double *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetMargin )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellMargin nMargins,
            /* [in] */ double fMargin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetContentLayout )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [retval][out] */ AcCellContentLayout *pLayout);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetContentLayout )( 
            IAcadTable * This,
            /* [in] */ int row,
            /* [in] */ int col,
            /* [in] */ AcCellContentLayout nLayout);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetOverride )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ AcCellProperty *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetOverride )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ AcCellProperty nProp);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetGridLineStyle )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineType,
            /* [retval][out] */ AcGridLineStyle *pStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetGridLineStyle )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcGridLineType nGridLineTypes,
            /* [in] */ AcGridLineStyle nLineStyle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertRowsAndInherit )( 
            IAcadTable * This,
            /* [in] */ int nIndex,
            /* [in] */ int nInheritFrom,
            /* [in] */ int nNumRows);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertColumnsAndInherit )( 
            IAcadTable * This,
            /* [in] */ int col,
            /* [in] */ int nInheritFrom,
            /* [in] */ int nNumCols);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetHasFormula )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetFormula )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [retval][out] */ BSTR *pszFormula);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetFormula )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ int nContent,
            /* [in] */ BSTR pszFormula);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IsContentEditable )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IsFormatEditable )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCellState )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ AcCellState *pCellState);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCellState )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ AcCellState nLock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EnableMergeAll )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ VARIANT_BOOL bEnable);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IsMergeAllEnabled )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [retval][out] */ VARIANT_BOOL *bValue);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BreaksEnabled )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BreaksEnabled )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RepeatTopLabels )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RepeatTopLabels )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RepeatBottomLabels )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RepeatBottomLabels )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TableBreakFlowDirection )( 
            IAcadTable * This,
            /* [retval][out] */ AcTableFlowDirection *pDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TableBreakFlowDirection )( 
            IAcadTable * This,
            /* [in] */ AcTableFlowDirection dir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowManualPositions )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowManualPositions )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowManualHeights )( 
            IAcadTable * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowManualHeights )( 
            IAcadTable * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TableBreakHeight )( 
            IAcadTable * This,
            /* [retval][out] */ double *pHeight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TableBreakHeight )( 
            IAcadTable * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BreakSpacing )( 
            IAcadTable * This,
            /* [retval][out] */ double *pSpacing);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BreakSpacing )( 
            IAcadTable * This,
            /* [in] */ double spacing);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetColumnName )( 
            IAcadTable * This,
            /* [in] */ int nIndex,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetColumnName )( 
            IAcadTable * This,
            /* [in] */ int nIndex,
            /* [in] */ BSTR name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetToolTip )( 
            IAcadTable * This,
            /* [in] */ int nRow,
            /* [in] */ int nCol,
            /* [in] */ BSTR tip);
        
        END_INTERFACE
    } IAcadTableVtbl;

    interface IAcadTable
    {
        CONST_VTBL struct IAcadTableVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadTable_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadTable_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadTable_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadTable_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadTable_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadTable_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadTable_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadTable_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadTable_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadTable_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadTable_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadTable_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadTable_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadTable_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadTable_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadTable_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadTable_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadTable_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadTable_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadTable_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadTable_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadTable_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadTable_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadTable_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadTable_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadTable_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadTable_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadTable_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadTable_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadTable_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadTable_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadTable_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadTable_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadTable_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadTable_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadTable_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadTable_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadTable_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadTable_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadTable_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadTable_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadTable_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadTable_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadTable_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadTable_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadTable_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadTable_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadTable_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadTable_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadTable_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadTable_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadTable_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadTable_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadTable_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadTable_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadTable_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadTable_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadTable_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadTable_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadTable_get_Rows(This,pRows)	\
    ( (This)->lpVtbl -> get_Rows(This,pRows) ) 

#define IAcadTable_put_Rows(This,nRows)	\
    ( (This)->lpVtbl -> put_Rows(This,nRows) ) 

#define IAcadTable_get_Columns(This,pColumns)	\
    ( (This)->lpVtbl -> get_Columns(This,pColumns) ) 

#define IAcadTable_put_Columns(This,nColumns)	\
    ( (This)->lpVtbl -> put_Columns(This,nColumns) ) 

#define IAcadTable_get_FlowDirection(This,pFlow)	\
    ( (This)->lpVtbl -> get_FlowDirection(This,pFlow) ) 

#define IAcadTable_put_FlowDirection(This,flow)	\
    ( (This)->lpVtbl -> put_FlowDirection(This,flow) ) 

#define IAcadTable_get_Width(This,pWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pWidth) ) 

#define IAcadTable_put_Width(This,fWidth)	\
    ( (This)->lpVtbl -> put_Width(This,fWidth) ) 

#define IAcadTable_get_Height(This,pHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pHeight) ) 

#define IAcadTable_put_Height(This,fRowHeight)	\
    ( (This)->lpVtbl -> put_Height(This,fRowHeight) ) 

#define IAcadTable_get_VertCellMargin(This,pGap)	\
    ( (This)->lpVtbl -> get_VertCellMargin(This,pGap) ) 

#define IAcadTable_put_VertCellMargin(This,gap)	\
    ( (This)->lpVtbl -> put_VertCellMargin(This,gap) ) 

#define IAcadTable_get_HorzCellMargin(This,pGap)	\
    ( (This)->lpVtbl -> get_HorzCellMargin(This,pGap) ) 

#define IAcadTable_put_HorzCellMargin(This,gap)	\
    ( (This)->lpVtbl -> put_HorzCellMargin(This,gap) ) 

#define IAcadTable_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadTable_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadTable_GetColumnWidth(This,col,pWidth)	\
    ( (This)->lpVtbl -> GetColumnWidth(This,col,pWidth) ) 

#define IAcadTable_SetColumnWidth(This,col,width)	\
    ( (This)->lpVtbl -> SetColumnWidth(This,col,width) ) 

#define IAcadTable_put_ColumnWidth(This,width)	\
    ( (This)->lpVtbl -> put_ColumnWidth(This,width) ) 

#define IAcadTable_GetRowHeight(This,row,pheight)	\
    ( (This)->lpVtbl -> GetRowHeight(This,row,pheight) ) 

#define IAcadTable_SetRowHeight(This,row,height)	\
    ( (This)->lpVtbl -> SetRowHeight(This,row,height) ) 

#define IAcadTable_put_RowHeight(This,height)	\
    ( (This)->lpVtbl -> put_RowHeight(This,height) ) 

#define IAcadTable_GetMinimumColumnWidth(This,col,pWidth)	\
    ( (This)->lpVtbl -> GetMinimumColumnWidth(This,col,pWidth) ) 

#define IAcadTable_GetMinimumRowHeight(This,row,pHeight)	\
    ( (This)->lpVtbl -> GetMinimumRowHeight(This,row,pHeight) ) 

#define IAcadTable_get_MinimumTableWidth(This,pWidth)	\
    ( (This)->lpVtbl -> get_MinimumTableWidth(This,pWidth) ) 

#define IAcadTable_get_MinimumTableHeight(This,pHeight)	\
    ( (This)->lpVtbl -> get_MinimumTableHeight(This,pHeight) ) 

#define IAcadTable_get_Direction(This,directionVector)	\
    ( (This)->lpVtbl -> get_Direction(This,directionVector) ) 

#define IAcadTable_put_Direction(This,directionVector)	\
    ( (This)->lpVtbl -> put_Direction(This,directionVector) ) 

#define IAcadTable_get_TitleSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> get_TitleSuppressed(This,bValue) ) 

#define IAcadTable_put_TitleSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> put_TitleSuppressed(This,bValue) ) 

#define IAcadTable_get_HeaderSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> get_HeaderSuppressed(This,bValue) ) 

#define IAcadTable_put_HeaderSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> put_HeaderSuppressed(This,bValue) ) 

#define IAcadTable_GetAlignment(This,rowType,pCellAlignment)	\
    ( (This)->lpVtbl -> GetAlignment(This,rowType,pCellAlignment) ) 

#define IAcadTable_SetAlignment(This,rowTypes,cellAlignment)	\
    ( (This)->lpVtbl -> SetAlignment(This,rowTypes,cellAlignment) ) 

#define IAcadTable_GetBackgroundColorNone(This,rowType,bValue)	\
    ( (This)->lpVtbl -> GetBackgroundColorNone(This,rowType,bValue) ) 

#define IAcadTable_SetBackgroundColorNone(This,rowTypes,bValue)	\
    ( (This)->lpVtbl -> SetBackgroundColorNone(This,rowTypes,bValue) ) 

#define IAcadTable_GetBackgroundColor(This,rowType,pColor)	\
    ( (This)->lpVtbl -> GetBackgroundColor(This,rowType,pColor) ) 

#define IAcadTable_SetBackgroundColor(This,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetBackgroundColor(This,rowTypes,pColor) ) 

#define IAcadTable_GetContentColor(This,rowType,pColor)	\
    ( (This)->lpVtbl -> GetContentColor(This,rowType,pColor) ) 

#define IAcadTable_SetContentColor(This,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetContentColor(This,rowTypes,pColor) ) 

#define IAcadTable_GetTextStyle(This,rowType,bstrName)	\
    ( (This)->lpVtbl -> GetTextStyle(This,rowType,bstrName) ) 

#define IAcadTable_SetTextStyle(This,rowTypes,bstrName)	\
    ( (This)->lpVtbl -> SetTextStyle(This,rowTypes,bstrName) ) 

#define IAcadTable_GetTextHeight(This,rowType,pTextHeight)	\
    ( (This)->lpVtbl -> GetTextHeight(This,rowType,pTextHeight) ) 

#define IAcadTable_SetTextHeight(This,rowTypes,textHeight)	\
    ( (This)->lpVtbl -> SetTextHeight(This,rowTypes,textHeight) ) 

#define IAcadTable_GetGridLineWeight(This,gridLineType,rowType,lineweight)	\
    ( (This)->lpVtbl -> GetGridLineWeight(This,gridLineType,rowType,lineweight) ) 

#define IAcadTable_SetGridLineWeight(This,gridLineTypes,rowTypes,lineweight)	\
    ( (This)->lpVtbl -> SetGridLineWeight(This,gridLineTypes,rowTypes,lineweight) ) 

#define IAcadTable_GetGridColor(This,gridLineType,rowType,pColor)	\
    ( (This)->lpVtbl -> GetGridColor(This,gridLineType,rowType,pColor) ) 

#define IAcadTable_SetGridColor(This,gridLineTypes,rowTypes,pColor)	\
    ( (This)->lpVtbl -> SetGridColor(This,gridLineTypes,rowTypes,pColor) ) 

#define IAcadTable_GetGridVisibility(This,gridLineType,rowType,bValue)	\
    ( (This)->lpVtbl -> GetGridVisibility(This,gridLineType,rowType,bValue) ) 

#define IAcadTable_SetGridVisibility(This,gridLineTypes,rowTypes,bValue)	\
    ( (This)->lpVtbl -> SetGridVisibility(This,gridLineTypes,rowTypes,bValue) ) 

#define IAcadTable_get_TableStyleOverrides(This,pIntArray)	\
    ( (This)->lpVtbl -> get_TableStyleOverrides(This,pIntArray) ) 

#define IAcadTable_ClearTableStyleOverrides(This,flag)	\
    ( (This)->lpVtbl -> ClearTableStyleOverrides(This,flag) ) 

#define IAcadTable_GetCellType(This,row,col,pCellType)	\
    ( (This)->lpVtbl -> GetCellType(This,row,col,pCellType) ) 

#define IAcadTable_SetCellType(This,row,col,CellType)	\
    ( (This)->lpVtbl -> SetCellType(This,row,col,CellType) ) 

#define IAcadTable_GetCellExtents(This,row,col,bOuterCell,pPts)	\
    ( (This)->lpVtbl -> GetCellExtents(This,row,col,bOuterCell,pPts) ) 

#define IAcadTable_GetAttachmentPoint(This,row,col,pAttachmentPoint)	\
    ( (This)->lpVtbl -> GetAttachmentPoint(This,row,col,pAttachmentPoint) ) 

#define IAcadTable_GetCellAlignment(This,row,col,pCellAlignment)	\
    ( (This)->lpVtbl -> GetCellAlignment(This,row,col,pCellAlignment) ) 

#define IAcadTable_SetCellAlignment(This,row,col,cellAlignment)	\
    ( (This)->lpVtbl -> SetCellAlignment(This,row,col,cellAlignment) ) 

#define IAcadTable_GetCellBackgroundColorNone(This,row,col,bValue)	\
    ( (This)->lpVtbl -> GetCellBackgroundColorNone(This,row,col,bValue) ) 

#define IAcadTable_SetCellBackgroundColorNone(This,row,col,bValue)	\
    ( (This)->lpVtbl -> SetCellBackgroundColorNone(This,row,col,bValue) ) 

#define IAcadTable_GetCellBackgroundColor(This,row,col,pColor)	\
    ( (This)->lpVtbl -> GetCellBackgroundColor(This,row,col,pColor) ) 

#define IAcadTable_SetCellBackgroundColor(This,row,col,pColor)	\
    ( (This)->lpVtbl -> SetCellBackgroundColor(This,row,col,pColor) ) 

#define IAcadTable_GetCellContentColor(This,row,col,pColor)	\
    ( (This)->lpVtbl -> GetCellContentColor(This,row,col,pColor) ) 

#define IAcadTable_SetCellContentColor(This,row,col,pColor)	\
    ( (This)->lpVtbl -> SetCellContentColor(This,row,col,pColor) ) 

#define IAcadTable_GetCellStyleOverrides(This,row,col,pIntArray)	\
    ( (This)->lpVtbl -> GetCellStyleOverrides(This,row,col,pIntArray) ) 

#define IAcadTable_DeleteCellContent(This,row,col)	\
    ( (This)->lpVtbl -> DeleteCellContent(This,row,col) ) 

#define IAcadTable_GetRowType(This,row,pRowType)	\
    ( (This)->lpVtbl -> GetRowType(This,row,pRowType) ) 

#define IAcadTable_GetText(This,row,col,pStr)	\
    ( (This)->lpVtbl -> GetText(This,row,col,pStr) ) 

#define IAcadTable_SetText(This,row,col,pStr)	\
    ( (This)->lpVtbl -> SetText(This,row,col,pStr) ) 

#define IAcadTable_GetCellTextStyle(This,row,col,bstrName)	\
    ( (This)->lpVtbl -> GetCellTextStyle(This,row,col,bstrName) ) 

#define IAcadTable_SetCellTextStyle(This,row,col,bstrName)	\
    ( (This)->lpVtbl -> SetCellTextStyle(This,row,col,bstrName) ) 

#define IAcadTable_GetCellTextHeight(This,row,col,pTextHeight)	\
    ( (This)->lpVtbl -> GetCellTextHeight(This,row,col,pTextHeight) ) 

#define IAcadTable_SetCellTextHeight(This,row,col,textHeight)	\
    ( (This)->lpVtbl -> SetCellTextHeight(This,row,col,textHeight) ) 

#define IAcadTable_GetTextRotation(This,row,col,textRotation)	\
    ( (This)->lpVtbl -> GetTextRotation(This,row,col,textRotation) ) 

#define IAcadTable_SetTextRotation(This,row,col,textRotation)	\
    ( (This)->lpVtbl -> SetTextRotation(This,row,col,textRotation) ) 

#define IAcadTable_GetAutoScale(This,row,col,bValue)	\
    ( (This)->lpVtbl -> GetAutoScale(This,row,col,bValue) ) 

#define IAcadTable_SetAutoScale(This,row,col,bValue)	\
    ( (This)->lpVtbl -> SetAutoScale(This,row,col,bValue) ) 

#define IAcadTable_GetBlockTableRecordId(This,row,col,blkId)	\
    ( (This)->lpVtbl -> GetBlockTableRecordId(This,row,col,blkId) ) 

#define IAcadTable_SetBlockTableRecordId(This,row,col,blkId,bAutoFit)	\
    ( (This)->lpVtbl -> SetBlockTableRecordId(This,row,col,blkId,bAutoFit) ) 

#define IAcadTable_GetBlockScale(This,row,col,blkScale)	\
    ( (This)->lpVtbl -> GetBlockScale(This,row,col,blkScale) ) 

#define IAcadTable_SetBlockScale(This,row,col,blkScale)	\
    ( (This)->lpVtbl -> SetBlockScale(This,row,col,blkScale) ) 

#define IAcadTable_GetBlockRotation(This,row,col,blkRotation)	\
    ( (This)->lpVtbl -> GetBlockRotation(This,row,col,blkRotation) ) 

#define IAcadTable_SetBlockRotation(This,row,col,blkRotation)	\
    ( (This)->lpVtbl -> SetBlockRotation(This,row,col,blkRotation) ) 

#define IAcadTable_GetBlockAttributeValue(This,row,col,attdefId,bstrValue)	\
    ( (This)->lpVtbl -> GetBlockAttributeValue(This,row,col,attdefId,bstrValue) ) 

#define IAcadTable_SetBlockAttributeValue(This,row,col,attdefId,bstrValue)	\
    ( (This)->lpVtbl -> SetBlockAttributeValue(This,row,col,attdefId,bstrValue) ) 

#define IAcadTable_GetCellGridLineWeight(This,row,col,edge,plineweight)	\
    ( (This)->lpVtbl -> GetCellGridLineWeight(This,row,col,edge,plineweight) ) 

#define IAcadTable_SetCellGridLineWeight(This,row,col,edges,lineweight)	\
    ( (This)->lpVtbl -> SetCellGridLineWeight(This,row,col,edges,lineweight) ) 

#define IAcadTable_GetCellGridColor(This,row,col,edge,pColor)	\
    ( (This)->lpVtbl -> GetCellGridColor(This,row,col,edge,pColor) ) 

#define IAcadTable_SetCellGridColor(This,row,col,edges,pColor)	\
    ( (This)->lpVtbl -> SetCellGridColor(This,row,col,edges,pColor) ) 

#define IAcadTable_GetCellGridVisibility(This,row,col,edge,bValue)	\
    ( (This)->lpVtbl -> GetCellGridVisibility(This,row,col,edge,bValue) ) 

#define IAcadTable_SetCellGridVisibility(This,row,col,edges,bValue)	\
    ( (This)->lpVtbl -> SetCellGridVisibility(This,row,col,edges,bValue) ) 

#define IAcadTable_InsertColumns(This,col,width,cols)	\
    ( (This)->lpVtbl -> InsertColumns(This,col,width,cols) ) 

#define IAcadTable_DeleteColumns(This,col,cols)	\
    ( (This)->lpVtbl -> DeleteColumns(This,col,cols) ) 

#define IAcadTable_InsertRows(This,row,height,rows)	\
    ( (This)->lpVtbl -> InsertRows(This,row,height,rows) ) 

#define IAcadTable_DeleteRows(This,row,rows)	\
    ( (This)->lpVtbl -> DeleteRows(This,row,rows) ) 

#define IAcadTable_MergeCells(This,minRow,maxRow,minCol,maxCol)	\
    ( (This)->lpVtbl -> MergeCells(This,minRow,maxRow,minCol,maxCol) ) 

#define IAcadTable_UnmergeCells(This,minRow,maxRow,minCol,maxCol)	\
    ( (This)->lpVtbl -> UnmergeCells(This,minRow,maxRow,minCol,maxCol) ) 

#define IAcadTable_IsMergedCell(This,row,col,minRow,maxRow,minCol,maxCol,pbValue)	\
    ( (This)->lpVtbl -> IsMergedCell(This,row,col,minRow,maxRow,minCol,maxCol,pbValue) ) 

#define IAcadTable_GetFieldId(This,row,col,fieldId)	\
    ( (This)->lpVtbl -> GetFieldId(This,row,col,fieldId) ) 

#define IAcadTable_SetFieldId(This,row,col,fieldId)	\
    ( (This)->lpVtbl -> SetFieldId(This,row,col,fieldId) ) 

#define IAcadTable_GenerateLayout(This)	\
    ( (This)->lpVtbl -> GenerateLayout(This) ) 

#define IAcadTable_RecomputeTableBlock(This,bForceUpdate)	\
    ( (This)->lpVtbl -> RecomputeTableBlock(This,bForceUpdate) ) 

#define IAcadTable_HitTest(This,wpt,wviewVec,resultRowIndex,resultColumnIndex,bReturn)	\
    ( (This)->lpVtbl -> HitTest(This,wpt,wviewVec,resultRowIndex,resultColumnIndex,bReturn) ) 

#define IAcadTable_Select(This,wpt,wvwVec,wvwxVec,wxaper,wyaper,allowOutside,resultRowIndex,resultColumnIndex)	\
    ( (This)->lpVtbl -> Select(This,wpt,wvwVec,wvwxVec,wxaper,wyaper,allowOutside,resultRowIndex,resultColumnIndex) ) 

#define IAcadTable_SelectSubRegion(This,wpt1,wpt2,wvwVec,wvwxVec,seltype,bIncludeCurrentSelection,rowMin,rowMax,colMin,colMax)	\
    ( (This)->lpVtbl -> SelectSubRegion(This,wpt1,wpt2,wvwVec,wvwxVec,seltype,bIncludeCurrentSelection,rowMin,rowMax,colMin,colMax) ) 

#define IAcadTable_ReselectSubRegion(This)	\
    ( (This)->lpVtbl -> ReselectSubRegion(This) ) 

#define IAcadTable_GetSubSelection(This,rowMin,rowMax,colMin,colMax)	\
    ( (This)->lpVtbl -> GetSubSelection(This,rowMin,rowMax,colMin,colMax) ) 

#define IAcadTable_SetSubSelection(This,rowMin,rowMax,colMin,colMax)	\
    ( (This)->lpVtbl -> SetSubSelection(This,rowMin,rowMax,colMin,colMax) ) 

#define IAcadTable_ClearSubSelection(This)	\
    ( (This)->lpVtbl -> ClearSubSelection(This) ) 

#define IAcadTable_get_HasSubSelection(This,pbValue)	\
    ( (This)->lpVtbl -> get_HasSubSelection(This,pbValue) ) 

#define IAcadTable_get_RegenerateTableSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> get_RegenerateTableSuppressed(This,bValue) ) 

#define IAcadTable_put_RegenerateTableSuppressed(This,bValue)	\
    ( (This)->lpVtbl -> put_RegenerateTableSuppressed(This,bValue) ) 

#define IAcadTable_GetDataType(This,rowType,pDataType,pUnitType)	\
    ( (This)->lpVtbl -> GetDataType(This,rowType,pDataType,pUnitType) ) 

#define IAcadTable_SetDataType(This,rowTypes,dataType,unitType)	\
    ( (This)->lpVtbl -> SetDataType(This,rowTypes,dataType,unitType) ) 

#define IAcadTable_GetFormat(This,rowType,pFormat)	\
    ( (This)->lpVtbl -> GetFormat(This,rowType,pFormat) ) 

#define IAcadTable_SetFormat(This,rowTypes,pFormat)	\
    ( (This)->lpVtbl -> SetFormat(This,rowTypes,pFormat) ) 

#define IAcadTable_FormatValue(This,row,col,nOption,pVal)	\
    ( (This)->lpVtbl -> FormatValue(This,row,col,nOption,pVal) ) 

#define IAcadTable_GetCellDataType(This,row,col,pDataType,pUnitType)	\
    ( (This)->lpVtbl -> GetCellDataType(This,row,col,pDataType,pUnitType) ) 

#define IAcadTable_SetCellDataType(This,row,col,dataType,unitType)	\
    ( (This)->lpVtbl -> SetCellDataType(This,row,col,dataType,unitType) ) 

#define IAcadTable_GetCellFormat(This,row,col,pFormat)	\
    ( (This)->lpVtbl -> GetCellFormat(This,row,col,pFormat) ) 

#define IAcadTable_SetCellFormat(This,row,col,pFormat)	\
    ( (This)->lpVtbl -> SetCellFormat(This,row,col,pFormat) ) 

#define IAcadTable_GetCellValue(This,row,col,pVal)	\
    ( (This)->lpVtbl -> GetCellValue(This,row,col,pVal) ) 

#define IAcadTable_SetCellValue(This,row,col,val)	\
    ( (This)->lpVtbl -> SetCellValue(This,row,col,val) ) 

#define IAcadTable_SetCellValueFromText(This,row,col,val,nOption)	\
    ( (This)->lpVtbl -> SetCellValueFromText(This,row,col,val,nOption) ) 

#define IAcadTable_ResetCellValue(This,row,col)	\
    ( (This)->lpVtbl -> ResetCellValue(This,row,col) ) 

#define IAcadTable_IsEmpty(This,nRow,nCol,bValue)	\
    ( (This)->lpVtbl -> IsEmpty(This,nRow,nCol,bValue) ) 

#define IAcadTable_CreateContent(This,nRow,nCol,nIndex,pInt)	\
    ( (This)->lpVtbl -> CreateContent(This,nRow,nCol,nIndex,pInt) ) 

#define IAcadTable_MoveContent(This,nRow,nCol,nFromIndex,nToIndex)	\
    ( (This)->lpVtbl -> MoveContent(This,nRow,nCol,nFromIndex,nToIndex) ) 

#define IAcadTable_DeleteContent(This,nRow,nCol)	\
    ( (This)->lpVtbl -> DeleteContent(This,nRow,nCol) ) 

#define IAcadTable_GetValue(This,nRow,nCol,nContent,pAcValue)	\
    ( (This)->lpVtbl -> GetValue(This,nRow,nCol,nContent,pAcValue) ) 

#define IAcadTable_SetValue(This,nRow,nCol,nContent,acValue)	\
    ( (This)->lpVtbl -> SetValue(This,nRow,nCol,nContent,acValue) ) 

#define IAcadTable_SetValueFromText(This,nRow,nCol,nContent,szText,nOption)	\
    ( (This)->lpVtbl -> SetValueFromText(This,nRow,nCol,nContent,szText,nOption) ) 

#define IAcadTable_GetDataFormat(This,nRow,nCol,nContent,pValue)	\
    ( (This)->lpVtbl -> GetDataFormat(This,nRow,nCol,nContent,pValue) ) 

#define IAcadTable_SetDataFormat(This,nRow,nCol,nContent,szFormat)	\
    ( (This)->lpVtbl -> SetDataFormat(This,nRow,nCol,nContent,szFormat) ) 

#define IAcadTable_GetTextString(This,nRow,nCol,nContent,pTextString)	\
    ( (This)->lpVtbl -> GetTextString(This,nRow,nCol,nContent,pTextString) ) 

#define IAcadTable_SetTextString(This,nRow,nCol,nContent,text)	\
    ( (This)->lpVtbl -> SetTextString(This,nRow,nCol,nContent,text) ) 

#define IAcadTable_GetFieldId2(This,nRow,nCol,nContent,pAcDbObjectId)	\
    ( (This)->lpVtbl -> GetFieldId2(This,nRow,nCol,nContent,pAcDbObjectId) ) 

#define IAcadTable_SetFieldId2(This,nRow,nCol,nContent,acDbObjectId,nflag)	\
    ( (This)->lpVtbl -> SetFieldId2(This,nRow,nCol,nContent,acDbObjectId,nflag) ) 

#define IAcadTable_GetBlockTableRecordId2(This,nRow,nCol,nContent,pAcDbObjectId)	\
    ( (This)->lpVtbl -> GetBlockTableRecordId2(This,nRow,nCol,nContent,pAcDbObjectId) ) 

#define IAcadTable_SetBlockTableRecordId2(This,nRow,nCol,nContent,blkId,autoFit)	\
    ( (This)->lpVtbl -> SetBlockTableRecordId2(This,nRow,nCol,nContent,blkId,autoFit) ) 

#define IAcadTable_GetBlockAttributeValue2(This,nRow,nCol,nContent,blkId,value)	\
    ( (This)->lpVtbl -> GetBlockAttributeValue2(This,nRow,nCol,nContent,blkId,value) ) 

#define IAcadTable_SetBlockAttributeValue2(This,nRow,nCol,nContent,blkId,value)	\
    ( (This)->lpVtbl -> SetBlockAttributeValue2(This,nRow,nCol,nContent,blkId,value) ) 

#define IAcadTable_GetCustomData(This,nRow,nCol,szKey,pData)	\
    ( (This)->lpVtbl -> GetCustomData(This,nRow,nCol,szKey,pData) ) 

#define IAcadTable_SetCustomData(This,nRow,nCol,szKey,data)	\
    ( (This)->lpVtbl -> SetCustomData(This,nRow,nCol,szKey,data) ) 

#define IAcadTable_GetCellStyle(This,nRow,nCol,pCellStyle)	\
    ( (This)->lpVtbl -> GetCellStyle(This,nRow,nCol,pCellStyle) ) 

#define IAcadTable_SetCellStyle(This,nRow,nCol,szCellStyle)	\
    ( (This)->lpVtbl -> SetCellStyle(This,nRow,nCol,szCellStyle) ) 

#define IAcadTable_GetContentColor2(This,nRow,nCol,nContent,pColor)	\
    ( (This)->lpVtbl -> GetContentColor2(This,nRow,nCol,nContent,pColor) ) 

#define IAcadTable_SetContentColor2(This,nRow,nCol,nContent,pColor)	\
    ( (This)->lpVtbl -> SetContentColor2(This,nRow,nCol,nContent,pColor) ) 

#define IAcadTable_GetDataType2(This,nRow,nCol,nContent,pDataType,pUnitType)	\
    ( (This)->lpVtbl -> GetDataType2(This,nRow,nCol,nContent,pDataType,pUnitType) ) 

#define IAcadTable_SetDataType2(This,nRow,nCol,nContent,dataType,unitType)	\
    ( (This)->lpVtbl -> SetDataType2(This,nRow,nCol,nContent,dataType,unitType) ) 

#define IAcadTable_GetTextStyle2(This,nRow,nCol,nContent,pbstrStyleName)	\
    ( (This)->lpVtbl -> GetTextStyle2(This,nRow,nCol,nContent,pbstrStyleName) ) 

#define IAcadTable_SetTextStyle2(This,nRow,nCol,nContent,bstrStyleName)	\
    ( (This)->lpVtbl -> SetTextStyle2(This,nRow,nCol,nContent,bstrStyleName) ) 

#define IAcadTable_GetTextHeight2(This,nRow,nCol,nContent,pHeight)	\
    ( (This)->lpVtbl -> GetTextHeight2(This,nRow,nCol,nContent,pHeight) ) 

#define IAcadTable_SetTextHeight2(This,nRow,nCol,nContent,height)	\
    ( (This)->lpVtbl -> SetTextHeight2(This,nRow,nCol,nContent,height) ) 

#define IAcadTable_GetRotation(This,nRow,nCol,nContent,pValue)	\
    ( (This)->lpVtbl -> GetRotation(This,nRow,nCol,nContent,pValue) ) 

#define IAcadTable_SetRotation(This,nRow,nCol,nContent,value)	\
    ( (This)->lpVtbl -> SetRotation(This,nRow,nCol,nContent,value) ) 

#define IAcadTable_GetAutoScale2(This,nRow,nCol,nContent,bAutoScale)	\
    ( (This)->lpVtbl -> GetAutoScale2(This,nRow,nCol,nContent,bAutoScale) ) 

#define IAcadTable_SetAutoScale2(This,nRow,nCol,nContent,bAutoFit)	\
    ( (This)->lpVtbl -> SetAutoScale2(This,nRow,nCol,nContent,bAutoFit) ) 

#define IAcadTable_GetScale(This,nRow,nCol,nContent,pScale)	\
    ( (This)->lpVtbl -> GetScale(This,nRow,nCol,nContent,pScale) ) 

#define IAcadTable_SetScale(This,nRow,nCol,nContent,scale)	\
    ( (This)->lpVtbl -> SetScale(This,nRow,nCol,nContent,scale) ) 

#define IAcadTable_RemoveAllOverrides(This,nRow,nCol)	\
    ( (This)->lpVtbl -> RemoveAllOverrides(This,nRow,nCol) ) 

#define IAcadTable_GetGridLineWeight2(This,nRow,nCol,nGridLineType,pLineWeight)	\
    ( (This)->lpVtbl -> GetGridLineWeight2(This,nRow,nCol,nGridLineType,pLineWeight) ) 

#define IAcadTable_SetGridLineWeight2(This,nRow,nCol,nGridLineType,lineWeight)	\
    ( (This)->lpVtbl -> SetGridLineWeight2(This,nRow,nCol,nGridLineType,lineWeight) ) 

#define IAcadTable_GetGridLinetype(This,nRow,nCol,nGridLineType,pacDbObjId)	\
    ( (This)->lpVtbl -> GetGridLinetype(This,nRow,nCol,nGridLineType,pacDbObjId) ) 

#define IAcadTable_SetGridLinetype(This,nRow,nCol,nGridLineType,idLinetype)	\
    ( (This)->lpVtbl -> SetGridLinetype(This,nRow,nCol,nGridLineType,idLinetype) ) 

#define IAcadTable_GetGridColor2(This,nRow,nCol,nGridLineType,pColor)	\
    ( (This)->lpVtbl -> GetGridColor2(This,nRow,nCol,nGridLineType,pColor) ) 

#define IAcadTable_SetGridColor2(This,nRow,nCol,nGridLineType,pColor)	\
    ( (This)->lpVtbl -> SetGridColor2(This,nRow,nCol,nGridLineType,pColor) ) 

#define IAcadTable_GetGridVisibility2(This,nRow,nCol,nGridLineType,bVisible)	\
    ( (This)->lpVtbl -> GetGridVisibility2(This,nRow,nCol,nGridLineType,bVisible) ) 

#define IAcadTable_SetGridVisibility2(This,nRow,nCol,nGridLineType,bVisible)	\
    ( (This)->lpVtbl -> SetGridVisibility2(This,nRow,nCol,nGridLineType,bVisible) ) 

#define IAcadTable_GetGridDoubleLineSpacing(This,nRow,nCol,nGridLineType,pValue)	\
    ( (This)->lpVtbl -> GetGridDoubleLineSpacing(This,nRow,nCol,nGridLineType,pValue) ) 

#define IAcadTable_SetGridDoubleLineSpacing(This,nRow,nCol,nGridLineType,fSpacing)	\
    ( (This)->lpVtbl -> SetGridDoubleLineSpacing(This,nRow,nCol,nGridLineType,fSpacing) ) 

#define IAcadTable_put_EnableBreak(This,bEnable)	\
    ( (This)->lpVtbl -> put_EnableBreak(This,bEnable) ) 

#define IAcadTable_GetBreakHeight(This,nIndex,pHeight)	\
    ( (This)->lpVtbl -> GetBreakHeight(This,nIndex,pHeight) ) 

#define IAcadTable_SetBreakHeight(This,nIndex,height)	\
    ( (This)->lpVtbl -> SetBreakHeight(This,nIndex,height) ) 

#define IAcadTable_GetContentType(This,nRow,nCol,pType)	\
    ( (This)->lpVtbl -> GetContentType(This,nRow,nCol,pType) ) 

#define IAcadTable_GetMargin(This,nRow,nCol,nMargin,pValue)	\
    ( (This)->lpVtbl -> GetMargin(This,nRow,nCol,nMargin,pValue) ) 

#define IAcadTable_SetMargin(This,nRow,nCol,nMargins,fMargin)	\
    ( (This)->lpVtbl -> SetMargin(This,nRow,nCol,nMargins,fMargin) ) 

#define IAcadTable_GetContentLayout(This,row,col,pLayout)	\
    ( (This)->lpVtbl -> GetContentLayout(This,row,col,pLayout) ) 

#define IAcadTable_SetContentLayout(This,row,col,nLayout)	\
    ( (This)->lpVtbl -> SetContentLayout(This,row,col,nLayout) ) 

#define IAcadTable_GetOverride(This,nRow,nCol,nContent,pValue)	\
    ( (This)->lpVtbl -> GetOverride(This,nRow,nCol,nContent,pValue) ) 

#define IAcadTable_SetOverride(This,nRow,nCol,nContent,nProp)	\
    ( (This)->lpVtbl -> SetOverride(This,nRow,nCol,nContent,nProp) ) 

#define IAcadTable_GetGridLineStyle(This,nRow,nCol,nGridLineType,pStyle)	\
    ( (This)->lpVtbl -> GetGridLineStyle(This,nRow,nCol,nGridLineType,pStyle) ) 

#define IAcadTable_SetGridLineStyle(This,nRow,nCol,nGridLineTypes,nLineStyle)	\
    ( (This)->lpVtbl -> SetGridLineStyle(This,nRow,nCol,nGridLineTypes,nLineStyle) ) 

#define IAcadTable_InsertRowsAndInherit(This,nIndex,nInheritFrom,nNumRows)	\
    ( (This)->lpVtbl -> InsertRowsAndInherit(This,nIndex,nInheritFrom,nNumRows) ) 

#define IAcadTable_InsertColumnsAndInherit(This,col,nInheritFrom,nNumCols)	\
    ( (This)->lpVtbl -> InsertColumnsAndInherit(This,col,nInheritFrom,nNumCols) ) 

#define IAcadTable_GetHasFormula(This,nRow,nCol,nContent,bValue)	\
    ( (This)->lpVtbl -> GetHasFormula(This,nRow,nCol,nContent,bValue) ) 

#define IAcadTable_GetFormula(This,nRow,nCol,nContent,pszFormula)	\
    ( (This)->lpVtbl -> GetFormula(This,nRow,nCol,nContent,pszFormula) ) 

#define IAcadTable_SetFormula(This,nRow,nCol,nContent,pszFormula)	\
    ( (This)->lpVtbl -> SetFormula(This,nRow,nCol,nContent,pszFormula) ) 

#define IAcadTable_IsContentEditable(This,nRow,nCol,bValue)	\
    ( (This)->lpVtbl -> IsContentEditable(This,nRow,nCol,bValue) ) 

#define IAcadTable_IsFormatEditable(This,nRow,nCol,bValue)	\
    ( (This)->lpVtbl -> IsFormatEditable(This,nRow,nCol,bValue) ) 

#define IAcadTable_GetCellState(This,nRow,nCol,pCellState)	\
    ( (This)->lpVtbl -> GetCellState(This,nRow,nCol,pCellState) ) 

#define IAcadTable_SetCellState(This,nRow,nCol,nLock)	\
    ( (This)->lpVtbl -> SetCellState(This,nRow,nCol,nLock) ) 

#define IAcadTable_EnableMergeAll(This,nRow,nCol,bEnable)	\
    ( (This)->lpVtbl -> EnableMergeAll(This,nRow,nCol,bEnable) ) 

#define IAcadTable_IsMergeAllEnabled(This,nRow,nCol,bValue)	\
    ( (This)->lpVtbl -> IsMergeAllEnabled(This,nRow,nCol,bValue) ) 

#define IAcadTable_get_BreaksEnabled(This,bEnabled)	\
    ( (This)->lpVtbl -> get_BreaksEnabled(This,bEnabled) ) 

#define IAcadTable_put_BreaksEnabled(This,bEnabled)	\
    ( (This)->lpVtbl -> put_BreaksEnabled(This,bEnabled) ) 

#define IAcadTable_get_RepeatTopLabels(This,bEnabled)	\
    ( (This)->lpVtbl -> get_RepeatTopLabels(This,bEnabled) ) 

#define IAcadTable_put_RepeatTopLabels(This,bEnabled)	\
    ( (This)->lpVtbl -> put_RepeatTopLabels(This,bEnabled) ) 

#define IAcadTable_get_RepeatBottomLabels(This,bEnabled)	\
    ( (This)->lpVtbl -> get_RepeatBottomLabels(This,bEnabled) ) 

#define IAcadTable_put_RepeatBottomLabels(This,bEnabled)	\
    ( (This)->lpVtbl -> put_RepeatBottomLabels(This,bEnabled) ) 

#define IAcadTable_get_TableBreakFlowDirection(This,pDir)	\
    ( (This)->lpVtbl -> get_TableBreakFlowDirection(This,pDir) ) 

#define IAcadTable_put_TableBreakFlowDirection(This,dir)	\
    ( (This)->lpVtbl -> put_TableBreakFlowDirection(This,dir) ) 

#define IAcadTable_get_AllowManualPositions(This,bEnabled)	\
    ( (This)->lpVtbl -> get_AllowManualPositions(This,bEnabled) ) 

#define IAcadTable_put_AllowManualPositions(This,bEnabled)	\
    ( (This)->lpVtbl -> put_AllowManualPositions(This,bEnabled) ) 

#define IAcadTable_get_AllowManualHeights(This,bEnabled)	\
    ( (This)->lpVtbl -> get_AllowManualHeights(This,bEnabled) ) 

#define IAcadTable_put_AllowManualHeights(This,bEnabled)	\
    ( (This)->lpVtbl -> put_AllowManualHeights(This,bEnabled) ) 

#define IAcadTable_get_TableBreakHeight(This,pHeight)	\
    ( (This)->lpVtbl -> get_TableBreakHeight(This,pHeight) ) 

#define IAcadTable_put_TableBreakHeight(This,height)	\
    ( (This)->lpVtbl -> put_TableBreakHeight(This,height) ) 

#define IAcadTable_get_BreakSpacing(This,pSpacing)	\
    ( (This)->lpVtbl -> get_BreakSpacing(This,pSpacing) ) 

#define IAcadTable_put_BreakSpacing(This,spacing)	\
    ( (This)->lpVtbl -> put_BreakSpacing(This,spacing) ) 

#define IAcadTable_GetColumnName(This,nIndex,name)	\
    ( (This)->lpVtbl -> GetColumnName(This,nIndex,name) ) 

#define IAcadTable_SetColumnName(This,nIndex,name)	\
    ( (This)->lpVtbl -> SetColumnName(This,nIndex,name) ) 

#define IAcadTable_SetToolTip(This,nRow,nCol,tip)	\
    ( (This)->lpVtbl -> SetToolTip(This,nRow,nCol,tip) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellTextStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadTable_GetCellTextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellTextStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadTable_SetCellTextStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellTextHeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ double *pTextHeight);


void __RPC_STUB IAcadTable_GetCellTextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellTextHeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ double textHeight);


void __RPC_STUB IAcadTable_SetCellTextHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetTextRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ AcRotationAngle *textRotation);


void __RPC_STUB IAcadTable_GetTextRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetTextRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ AcRotationAngle textRotation);


void __RPC_STUB IAcadTable_SetTextRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetAutoScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_GetAutoScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetAutoScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_SetAutoScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockTableRecordId_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ LONG_PTR *blkId);


void __RPC_STUB IAcadTable_GetBlockTableRecordId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockTableRecordId_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ LONG_PTR blkId,
    /* [in] */ VARIANT_BOOL bAutoFit);


void __RPC_STUB IAcadTable_SetBlockTableRecordId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ double *blkScale);


void __RPC_STUB IAcadTable_GetBlockScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ double blkScale);


void __RPC_STUB IAcadTable_SetBlockScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ double *blkRotation);


void __RPC_STUB IAcadTable_GetBlockRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ double blkRotation);


void __RPC_STUB IAcadTable_SetBlockRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockAttributeValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ LONG_PTR attdefId,
    /* [retval][out] */ BSTR *bstrValue);


void __RPC_STUB IAcadTable_GetBlockAttributeValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockAttributeValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ LONG_PTR attdefId,
    /* [in] */ BSTR bstrValue);


void __RPC_STUB IAcadTable_SetBlockAttributeValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellGridLineWeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ AcCellEdgeMask edge,
    /* [retval][out] */ ACAD_LWEIGHT *plineweight);


void __RPC_STUB IAcadTable_GetCellGridLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellGridLineWeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ int edges,
    /* [in] */ ACAD_LWEIGHT lineweight);


void __RPC_STUB IAcadTable_SetCellGridLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellGridColor_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ AcCellEdgeMask edge,
    /* [retval][out] */ IAcadAcCmColor **pColor);


void __RPC_STUB IAcadTable_GetCellGridColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellGridColor_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ int edges,
    /* [in] */ IAcadAcCmColor *pColor);


void __RPC_STUB IAcadTable_SetCellGridColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellGridVisibility_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ AcCellEdgeMask edge,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_GetCellGridVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellGridVisibility_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ int edges,
    /* [in] */ VARIANT_BOOL bValue);


void __RPC_STUB IAcadTable_SetCellGridVisibility_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_InsertColumns_Proxy( 
    IAcadTable * This,
    /* [in] */ int col,
    /* [in] */ double width,
    /* [in] */ int cols);


void __RPC_STUB IAcadTable_InsertColumns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_DeleteColumns_Proxy( 
    IAcadTable * This,
    /* [in] */ int col,
    /* [in] */ int cols);


void __RPC_STUB IAcadTable_DeleteColumns_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_InsertRows_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ double height,
    /* [in] */ int rows);


void __RPC_STUB IAcadTable_InsertRows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_DeleteRows_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int rows);


void __RPC_STUB IAcadTable_DeleteRows_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_MergeCells_Proxy( 
    IAcadTable * This,
    /* [in] */ int minRow,
    /* [in] */ int maxRow,
    /* [in] */ int minCol,
    /* [in] */ int maxCol);


void __RPC_STUB IAcadTable_MergeCells_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_UnmergeCells_Proxy( 
    IAcadTable * This,
    /* [in] */ int minRow,
    /* [in] */ int maxRow,
    /* [in] */ int minCol,
    /* [in] */ int maxCol);


void __RPC_STUB IAcadTable_UnmergeCells_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_IsMergedCell_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [out] */ int *minRow,
    /* [out] */ int *maxRow,
    /* [out] */ int *minCol,
    /* [out] */ int *maxCol,
    /* [retval][out] */ VARIANT_BOOL *pbValue);


void __RPC_STUB IAcadTable_IsMergedCell_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetFieldId_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ LONG_PTR *fieldId);


void __RPC_STUB IAcadTable_GetFieldId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetFieldId_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ LONG_PTR fieldId);


void __RPC_STUB IAcadTable_SetFieldId_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GenerateLayout_Proxy( 
    IAcadTable * This);


void __RPC_STUB IAcadTable_GenerateLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_RecomputeTableBlock_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bForceUpdate);


void __RPC_STUB IAcadTable_RecomputeTableBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_HitTest_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT wpt,
    /* [in] */ VARIANT wviewVec,
    /* [out] */ int *resultRowIndex,
    /* [out] */ int *resultColumnIndex,
    /* [retval][out] */ VARIANT_BOOL *bReturn);


void __RPC_STUB IAcadTable_HitTest_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_Select_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT wpt,
    /* [in] */ VARIANT wvwVec,
    /* [in] */ VARIANT wvwxVec,
    /* [in] */ double wxaper,
    /* [in] */ double wyaper,
    /* [in] */ VARIANT_BOOL allowOutside,
    /* [out] */ int *resultRowIndex,
    /* [out] */ int *resultColumnIndex);


void __RPC_STUB IAcadTable_Select_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SelectSubRegion_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT wpt1,
    /* [in] */ VARIANT wpt2,
    /* [in] */ VARIANT wvwVec,
    /* [in] */ VARIANT wvwxVec,
    /* [in] */ AcSelectType seltype,
    /* [in] */ VARIANT_BOOL bIncludeCurrentSelection,
    /* [out] */ int *rowMin,
    /* [out] */ int *rowMax,
    /* [out] */ int *colMin,
    /* [out] */ int *colMax);


void __RPC_STUB IAcadTable_SelectSubRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_ReselectSubRegion_Proxy( 
    IAcadTable * This);


void __RPC_STUB IAcadTable_ReselectSubRegion_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetSubSelection_Proxy( 
    IAcadTable * This,
    /* [out] */ int *rowMin,
    /* [out] */ int *rowMax,
    /* [out] */ int *colMin,
    /* [out] */ int *colMax);


void __RPC_STUB IAcadTable_GetSubSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetSubSelection_Proxy( 
    IAcadTable * This,
    /* [in] */ int rowMin,
    /* [in] */ int rowMax,
    /* [in] */ int colMin,
    /* [in] */ int colMax);


void __RPC_STUB IAcadTable_SetSubSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_ClearSubSelection_Proxy( 
    IAcadTable * This);


void __RPC_STUB IAcadTable_ClearSubSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_HasSubSelection_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *pbValue);


void __RPC_STUB IAcadTable_get_HasSubSelection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_RegenerateTableSuppressed_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_get_RegenerateTableSuppressed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_RegenerateTableSuppressed_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bValue);


void __RPC_STUB IAcadTable_put_RegenerateTableSuppressed_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetDataType_Proxy( 
    IAcadTable * This,
    /* [in] */ AcRowType rowType,
    /* [out] */ AcValueDataType *pDataType,
    /* [out] */ AcValueUnitType *pUnitType);


void __RPC_STUB IAcadTable_GetDataType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetDataType_Proxy( 
    IAcadTable * This,
    /* [in] */ int rowTypes,
    /* [in] */ AcValueDataType dataType,
    /* [in] */ AcValueUnitType unitType);


void __RPC_STUB IAcadTable_SetDataType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ AcRowType rowType,
    /* [retval][out] */ BSTR *pFormat);


void __RPC_STUB IAcadTable_GetFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ int rowTypes,
    BSTR pFormat);


void __RPC_STUB IAcadTable_SetFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_FormatValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    AcFormatOption nOption,
    BSTR *pVal);


void __RPC_STUB IAcadTable_FormatValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellDataType_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [out] */ AcValueDataType *pDataType,
    /* [out] */ AcValueUnitType *pUnitType);


void __RPC_STUB IAcadTable_GetCellDataType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellDataType_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    AcValueDataType dataType,
    AcValueUnitType unitType);


void __RPC_STUB IAcadTable_SetCellDataType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ BSTR *pFormat);


void __RPC_STUB IAcadTable_GetCellFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    BSTR pFormat);


void __RPC_STUB IAcadTable_SetCellFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadTable_GetCellValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    VARIANT val);


void __RPC_STUB IAcadTable_SetCellValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellValueFromText_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ BSTR val,
    /* [in] */ AcParseOption nOption);


void __RPC_STUB IAcadTable_SetCellValueFromText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_ResetCellValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col);


void __RPC_STUB IAcadTable_ResetCellValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_IsEmpty_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_IsEmpty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_CreateContent_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nIndex,
    /* [retval][out] */ int *pInt);


void __RPC_STUB IAcadTable_CreateContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_MoveContent_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nFromIndex,
    /* [in] */ int nToIndex);


void __RPC_STUB IAcadTable_MoveContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_DeleteContent_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol);


void __RPC_STUB IAcadTable_DeleteContent_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ VARIANT *pAcValue);


void __RPC_STUB IAcadTable_GetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetValue_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ VARIANT acValue);


void __RPC_STUB IAcadTable_SetValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetValueFromText_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ BSTR szText,
    /* [in] */ AcParseOption nOption);


void __RPC_STUB IAcadTable_SetValueFromText_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetDataFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ BSTR *pValue);


void __RPC_STUB IAcadTable_GetDataFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetDataFormat_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ BSTR szFormat);


void __RPC_STUB IAcadTable_SetDataFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetTextString_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ BSTR *pTextString);


void __RPC_STUB IAcadTable_GetTextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetTextString_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ BSTR text);


void __RPC_STUB IAcadTable_SetTextString_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetFieldId2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ LONG_PTR *pAcDbObjectId);


void __RPC_STUB IAcadTable_GetFieldId2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetFieldId2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ LONG_PTR acDbObjectId,
    /* [in] */ AcCellOption nflag);


void __RPC_STUB IAcadTable_SetFieldId2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockTableRecordId2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ LONG_PTR *pAcDbObjectId);


void __RPC_STUB IAcadTable_GetBlockTableRecordId2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockTableRecordId2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ LONG_PTR blkId,
    /* [in] */ VARIANT_BOOL autoFit);


void __RPC_STUB IAcadTable_SetBlockTableRecordId2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBlockAttributeValue2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ LONG_PTR blkId,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadTable_GetBlockAttributeValue2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBlockAttributeValue2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ LONG_PTR blkId,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadTable_SetBlockAttributeValue2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCustomData_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ BSTR szKey,
    /* [out] */ VARIANT *pData);


void __RPC_STUB IAcadTable_GetCustomData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCustomData_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ BSTR szKey,
    /* [in] */ VARIANT data);


void __RPC_STUB IAcadTable_SetCustomData_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ BSTR *pCellStyle);


void __RPC_STUB IAcadTable_GetCellStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ BSTR szCellStyle);


void __RPC_STUB IAcadTable_SetCellStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetContentColor2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ IAcadAcCmColor **pColor);


void __RPC_STUB IAcadTable_GetContentColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetContentColor2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ IAcadAcCmColor *pColor);


void __RPC_STUB IAcadTable_SetContentColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetDataType2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [out] */ AcValueDataType *pDataType,
    /* [out] */ AcValueUnitType *pUnitType);


void __RPC_STUB IAcadTable_GetDataType2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetDataType2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ AcValueDataType dataType,
    /* [in] */ AcValueUnitType unitType);


void __RPC_STUB IAcadTable_SetDataType2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetTextStyle2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ BSTR *pbstrStyleName);


void __RPC_STUB IAcadTable_GetTextStyle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetTextStyle2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ BSTR bstrStyleName);


void __RPC_STUB IAcadTable_SetTextStyle2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetTextHeight2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ double *pHeight);


void __RPC_STUB IAcadTable_GetTextHeight2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetTextHeight2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ double height);


void __RPC_STUB IAcadTable_SetTextHeight2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ double *pValue);


void __RPC_STUB IAcadTable_GetRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetRotation_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ double value);


void __RPC_STUB IAcadTable_SetRotation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetAutoScale2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ VARIANT_BOOL *bAutoScale);


void __RPC_STUB IAcadTable_GetAutoScale2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetAutoScale2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ VARIANT_BOOL bAutoFit);


void __RPC_STUB IAcadTable_SetAutoScale2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ double *pScale);


void __RPC_STUB IAcadTable_GetScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetScale_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ double scale);


void __RPC_STUB IAcadTable_SetScale_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_RemoveAllOverrides_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol);


void __RPC_STUB IAcadTable_RemoveAllOverrides_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridLineWeight2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ ACAD_LWEIGHT *pLineWeight);


void __RPC_STUB IAcadTable_GetGridLineWeight2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridLineWeight2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [in] */ ACAD_LWEIGHT lineWeight);


void __RPC_STUB IAcadTable_SetGridLineWeight2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridLinetype_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ LONG_PTR *pacDbObjId);


void __RPC_STUB IAcadTable_GetGridLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridLinetype_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [in] */ LONG_PTR idLinetype);


void __RPC_STUB IAcadTable_SetGridLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridColor2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ IAcadAcCmColor **pColor);


void __RPC_STUB IAcadTable_GetGridColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridColor2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [in] */ IAcadAcCmColor *pColor);


void __RPC_STUB IAcadTable_SetGridColor2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridVisibility2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ VARIANT_BOOL *bVisible);


void __RPC_STUB IAcadTable_GetGridVisibility2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridVisibility2_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [in] */ VARIANT_BOOL bVisible);


void __RPC_STUB IAcadTable_SetGridVisibility2_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridDoubleLineSpacing_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ double *pValue);


void __RPC_STUB IAcadTable_GetGridDoubleLineSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridDoubleLineSpacing_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [in] */ double fSpacing);


void __RPC_STUB IAcadTable_SetGridDoubleLineSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_EnableBreak_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnable);


void __RPC_STUB IAcadTable_put_EnableBreak_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetBreakHeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int nIndex,
    /* [retval][out] */ double *pHeight);


void __RPC_STUB IAcadTable_GetBreakHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetBreakHeight_Proxy( 
    IAcadTable * This,
    /* [in] */ int nIndex,
    /* [in] */ double height);


void __RPC_STUB IAcadTable_SetBreakHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetContentType_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ AcCellContentType *pType);


void __RPC_STUB IAcadTable_GetContentType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetMargin_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcCellMargin nMargin,
    /* [retval][out] */ double *pValue);


void __RPC_STUB IAcadTable_GetMargin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetMargin_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcCellMargin nMargins,
    /* [in] */ double fMargin);


void __RPC_STUB IAcadTable_SetMargin_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetContentLayout_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [retval][out] */ AcCellContentLayout *pLayout);


void __RPC_STUB IAcadTable_GetContentLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetContentLayout_Proxy( 
    IAcadTable * This,
    /* [in] */ int row,
    /* [in] */ int col,
    /* [in] */ AcCellContentLayout nLayout);


void __RPC_STUB IAcadTable_SetContentLayout_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetOverride_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ AcCellProperty *pValue);


void __RPC_STUB IAcadTable_GetOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetOverride_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ AcCellProperty nProp);


void __RPC_STUB IAcadTable_SetOverride_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetGridLineStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineType,
    /* [retval][out] */ AcGridLineStyle *pStyle);


void __RPC_STUB IAcadTable_GetGridLineStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetGridLineStyle_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcGridLineType nGridLineTypes,
    /* [in] */ AcGridLineStyle nLineStyle);


void __RPC_STUB IAcadTable_SetGridLineStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_InsertRowsAndInherit_Proxy( 
    IAcadTable * This,
    /* [in] */ int nIndex,
    /* [in] */ int nInheritFrom,
    /* [in] */ int nNumRows);


void __RPC_STUB IAcadTable_InsertRowsAndInherit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_InsertColumnsAndInherit_Proxy( 
    IAcadTable * This,
    /* [in] */ int col,
    /* [in] */ int nInheritFrom,
    /* [in] */ int nNumCols);


void __RPC_STUB IAcadTable_InsertColumnsAndInherit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetHasFormula_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_GetHasFormula_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetFormula_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [retval][out] */ BSTR *pszFormula);


void __RPC_STUB IAcadTable_GetFormula_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetFormula_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ int nContent,
    /* [in] */ BSTR pszFormula);


void __RPC_STUB IAcadTable_SetFormula_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_IsContentEditable_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_IsContentEditable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_IsFormatEditable_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_IsFormatEditable_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetCellState_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ AcCellState *pCellState);


void __RPC_STUB IAcadTable_GetCellState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetCellState_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ AcCellState nLock);


void __RPC_STUB IAcadTable_SetCellState_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_EnableMergeAll_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ VARIANT_BOOL bEnable);


void __RPC_STUB IAcadTable_EnableMergeAll_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_IsMergeAllEnabled_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [retval][out] */ VARIANT_BOOL *bValue);


void __RPC_STUB IAcadTable_IsMergeAllEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_BreaksEnabled_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bEnabled);


void __RPC_STUB IAcadTable_get_BreaksEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_BreaksEnabled_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IAcadTable_put_BreaksEnabled_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_RepeatTopLabels_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bEnabled);


void __RPC_STUB IAcadTable_get_RepeatTopLabels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_RepeatTopLabels_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IAcadTable_put_RepeatTopLabels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_RepeatBottomLabels_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bEnabled);


void __RPC_STUB IAcadTable_get_RepeatBottomLabels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_RepeatBottomLabels_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IAcadTable_put_RepeatBottomLabels_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_TableBreakFlowDirection_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ AcTableFlowDirection *pDir);


void __RPC_STUB IAcadTable_get_TableBreakFlowDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_TableBreakFlowDirection_Proxy( 
    IAcadTable * This,
    /* [in] */ AcTableFlowDirection dir);


void __RPC_STUB IAcadTable_put_TableBreakFlowDirection_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_AllowManualPositions_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bEnabled);


void __RPC_STUB IAcadTable_get_AllowManualPositions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_AllowManualPositions_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IAcadTable_put_AllowManualPositions_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_AllowManualHeights_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ VARIANT_BOOL *bEnabled);


void __RPC_STUB IAcadTable_get_AllowManualHeights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_AllowManualHeights_Proxy( 
    IAcadTable * This,
    /* [in] */ VARIANT_BOOL bEnabled);


void __RPC_STUB IAcadTable_put_AllowManualHeights_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_TableBreakHeight_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ double *pHeight);


void __RPC_STUB IAcadTable_get_TableBreakHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_TableBreakHeight_Proxy( 
    IAcadTable * This,
    /* [in] */ double height);


void __RPC_STUB IAcadTable_put_TableBreakHeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadTable_get_BreakSpacing_Proxy( 
    IAcadTable * This,
    /* [retval][out] */ double *pSpacing);


void __RPC_STUB IAcadTable_get_BreakSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadTable_put_BreakSpacing_Proxy( 
    IAcadTable * This,
    /* [in] */ double spacing);


void __RPC_STUB IAcadTable_put_BreakSpacing_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_GetColumnName_Proxy( 
    IAcadTable * This,
    /* [in] */ int nIndex,
    /* [retval][out] */ BSTR *name);


void __RPC_STUB IAcadTable_GetColumnName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetColumnName_Proxy( 
    IAcadTable * This,
    /* [in] */ int nIndex,
    /* [in] */ BSTR name);


void __RPC_STUB IAcadTable_SetColumnName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IAcadTable_SetToolTip_Proxy( 
    IAcadTable * This,
    /* [in] */ int nRow,
    /* [in] */ int nCol,
    /* [in] */ BSTR tip);


void __RPC_STUB IAcadTable_SetToolTip_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadTable_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadTable,0x96490F92,0x5E25,0x41EE,0xAD,0x48,0x16,0xAE,0x8F,0xC3,0xD2,0xDE);

#ifdef __cplusplus

class DECLSPEC_UUID("96490F92-5E25-41EE-AD48-16AE8FC3D2DE")
AcadTable;
#endif

#ifndef __IAcadOle_INTERFACE_DEFINED__
#define __IAcadOle_INTERFACE_DEFINED__

/* interface IAcadOle */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadOle,0x3806D58B,0x31AA,0x420C,0xA1,0xE6,0x75,0x15,0xA2,0xFD,0xD5,0xE4);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3806D58B-31AA-420C-A1E6-7515A2FDD5E4")
    IAcadOle : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT insPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rot) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rot) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleWidth( 
            /* [retval][out] */ double *swidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleWidth( 
            /* [in] */ double swidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleHeight( 
            /* [retval][out] */ double *sheight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleHeight( 
            /* [in] */ double sheight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LockAspectRatio( 
            /* [retval][out] */ VARIANT_BOOL *aspect) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LockAspectRatio( 
            /* [in] */ VARIANT_BOOL aspect) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OleItemType( 
            /* [retval][out] */ AcOleType *pType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OleItemType( 
            /* [in] */ AcOleType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OlePlotQuality( 
            /* [retval][out] */ AcOlePlotQuality *pPQuality) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OlePlotQuality( 
            /* [in] */ AcOlePlotQuality pQuality) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OleSourceApp( 
            /* [retval][out] */ BSTR *srcApp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OleSourceApp( 
            /* [in] */ BSTR srcApp) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadOleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadOle * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadOle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadOle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadOle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadOle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadOle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadOle * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadOle * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadOle * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadOle * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadOle * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadOle * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadOle * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadOle * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadOle * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadOle * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadOle * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadOle * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadOle * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadOle * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadOle * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadOle * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadOle * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadOle * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadOle * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadOle * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadOle * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadOle * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadOle * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadOle * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadOle * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadOle * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadOle * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadOle * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadOle * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadOle * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadOle * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadOle * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadOle * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadOle * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadOle * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadOle * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadOle * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadOle * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadOle * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadOle * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadOle * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadOle * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadOle * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadOle * This,
            /* [retval][out] */ VARIANT *insPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadOle * This,
            /* [in] */ VARIANT insPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadOle * This,
            /* [retval][out] */ ACAD_ANGLE *rot);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadOle * This,
            /* [in] */ ACAD_ANGLE rot);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadOle * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadOle * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadOle * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadOle * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleWidth )( 
            IAcadOle * This,
            /* [retval][out] */ double *swidth);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleWidth )( 
            IAcadOle * This,
            /* [in] */ double swidth);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleHeight )( 
            IAcadOle * This,
            /* [retval][out] */ double *sheight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleHeight )( 
            IAcadOle * This,
            /* [in] */ double sheight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LockAspectRatio )( 
            IAcadOle * This,
            /* [retval][out] */ VARIANT_BOOL *aspect);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LockAspectRatio )( 
            IAcadOle * This,
            /* [in] */ VARIANT_BOOL aspect);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OleItemType )( 
            IAcadOle * This,
            /* [retval][out] */ AcOleType *pType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OleItemType )( 
            IAcadOle * This,
            /* [in] */ AcOleType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OlePlotQuality )( 
            IAcadOle * This,
            /* [retval][out] */ AcOlePlotQuality *pPQuality);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OlePlotQuality )( 
            IAcadOle * This,
            /* [in] */ AcOlePlotQuality pQuality);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OleSourceApp )( 
            IAcadOle * This,
            /* [retval][out] */ BSTR *srcApp);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OleSourceApp )( 
            IAcadOle * This,
            /* [in] */ BSTR srcApp);
        
        END_INTERFACE
    } IAcadOleVtbl;

    interface IAcadOle
    {
        CONST_VTBL struct IAcadOleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadOle_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadOle_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadOle_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadOle_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadOle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadOle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadOle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadOle_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadOle_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadOle_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadOle_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadOle_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadOle_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadOle_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadOle_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadOle_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadOle_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadOle_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadOle_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadOle_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadOle_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadOle_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadOle_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadOle_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadOle_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadOle_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadOle_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadOle_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadOle_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadOle_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadOle_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadOle_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadOle_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadOle_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadOle_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadOle_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadOle_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadOle_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadOle_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadOle_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadOle_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadOle_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadOle_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadOle_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadOle_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadOle_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadOle_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadOle_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadOle_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadOle_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadOle_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadOle_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadOle_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadOle_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadOle_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadOle_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadOle_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadOle_get_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,insPoint) ) 

#define IAcadOle_put_InsertionPoint(This,insPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,insPoint) ) 

#define IAcadOle_get_Rotation(This,rot)	\
    ( (This)->lpVtbl -> get_Rotation(This,rot) ) 

#define IAcadOle_put_Rotation(This,rot)	\
    ( (This)->lpVtbl -> put_Rotation(This,rot) ) 

#define IAcadOle_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadOle_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadOle_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadOle_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadOle_get_ScaleWidth(This,swidth)	\
    ( (This)->lpVtbl -> get_ScaleWidth(This,swidth) ) 

#define IAcadOle_put_ScaleWidth(This,swidth)	\
    ( (This)->lpVtbl -> put_ScaleWidth(This,swidth) ) 

#define IAcadOle_get_ScaleHeight(This,sheight)	\
    ( (This)->lpVtbl -> get_ScaleHeight(This,sheight) ) 

#define IAcadOle_put_ScaleHeight(This,sheight)	\
    ( (This)->lpVtbl -> put_ScaleHeight(This,sheight) ) 

#define IAcadOle_get_LockAspectRatio(This,aspect)	\
    ( (This)->lpVtbl -> get_LockAspectRatio(This,aspect) ) 

#define IAcadOle_put_LockAspectRatio(This,aspect)	\
    ( (This)->lpVtbl -> put_LockAspectRatio(This,aspect) ) 

#define IAcadOle_get_OleItemType(This,pType)	\
    ( (This)->lpVtbl -> get_OleItemType(This,pType) ) 

#define IAcadOle_put_OleItemType(This,type)	\
    ( (This)->lpVtbl -> put_OleItemType(This,type) ) 

#define IAcadOle_get_OlePlotQuality(This,pPQuality)	\
    ( (This)->lpVtbl -> get_OlePlotQuality(This,pPQuality) ) 

#define IAcadOle_put_OlePlotQuality(This,pQuality)	\
    ( (This)->lpVtbl -> put_OlePlotQuality(This,pQuality) ) 

#define IAcadOle_get_OleSourceApp(This,srcApp)	\
    ( (This)->lpVtbl -> get_OleSourceApp(This,srcApp) ) 

#define IAcadOle_put_OleSourceApp(This,srcApp)	\
    ( (This)->lpVtbl -> put_OleSourceApp(This,srcApp) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadOle_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadOle,0x6A4E56B5,0x0647,0x4841,0xB1,0xBE,0xBF,0xC6,0x79,0xB3,0x3C,0x6F);

#ifdef __cplusplus

class DECLSPEC_UUID("6A4E56B5-0647-4841-B1BE-BFC679B33C6F")
AcadOle;
#endif

#ifndef __IAcadHelix_INTERFACE_DEFINED__
#define __IAcadHelix_INTERFACE_DEFINED__

/* interface IAcadHelix */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadHelix,0x38DDE08E,0x44F9,0x4BF4,0xA7,0x61,0xB5,0x10,0xD4,0xAD,0x75,0x25);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("38DDE08E-44F9-4BF4-A761-B510D4AD7525")
    IAcadHelix : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ VARIANT *startPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ VARIANT startPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Constrain( 
            /* [retval][out] */ AcHelixConstrainType *constrainType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Constrain( 
            /* [in] */ AcHelixConstrainType constrainType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Turns( 
            /* [retval][out] */ ACAD_NOUNITS *turns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Turns( 
            /* [in] */ ACAD_NOUNITS radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TurnHeight( 
            /* [retval][out] */ double *distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TurnHeight( 
            /* [in] */ double distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BaseRadius( 
            /* [retval][out] */ double *radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BaseRadius( 
            /* [in] */ double radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TopRadius( 
            /* [retval][out] */ double *radius) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TopRadius( 
            /* [in] */ double turns) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Twist( 
            /* [retval][out] */ AcHelixTwistType *twistType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Twist( 
            /* [in] */ AcHelixTwistType twistType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TurnSlope( 
            /* [retval][out] */ ACAD_ANGLE *slopeAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TotalLength( 
            /* [retval][out] */ double *totalLength) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadHelixVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadHelix * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadHelix * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadHelix * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadHelix * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadHelix * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadHelix * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadHelix * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadHelix * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadHelix * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadHelix * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadHelix * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadHelix * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadHelix * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadHelix * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadHelix * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadHelix * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadHelix * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadHelix * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadHelix * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadHelix * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadHelix * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadHelix * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadHelix * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadHelix * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadHelix * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadHelix * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadHelix * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadHelix * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadHelix * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadHelix * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadHelix * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadHelix * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadHelix * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadHelix * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadHelix * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadHelix * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadHelix * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadHelix * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadHelix * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadHelix * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadHelix * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadHelix * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadHelix * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadHelix * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadHelix * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadHelix * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadHelix * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadHelix * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadHelix * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadHelix * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IAcadHelix * This,
            /* [retval][out] */ VARIANT *startPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IAcadHelix * This,
            /* [in] */ VARIANT startPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Constrain )( 
            IAcadHelix * This,
            /* [retval][out] */ AcHelixConstrainType *constrainType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Constrain )( 
            IAcadHelix * This,
            /* [in] */ AcHelixConstrainType constrainType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadHelix * This,
            /* [retval][out] */ double *length);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadHelix * This,
            /* [in] */ double length);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Turns )( 
            IAcadHelix * This,
            /* [retval][out] */ ACAD_NOUNITS *turns);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Turns )( 
            IAcadHelix * This,
            /* [in] */ ACAD_NOUNITS radius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TurnHeight )( 
            IAcadHelix * This,
            /* [retval][out] */ double *distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TurnHeight )( 
            IAcadHelix * This,
            /* [in] */ double distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BaseRadius )( 
            IAcadHelix * This,
            /* [retval][out] */ double *radius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BaseRadius )( 
            IAcadHelix * This,
            /* [in] */ double radius);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TopRadius )( 
            IAcadHelix * This,
            /* [retval][out] */ double *radius);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TopRadius )( 
            IAcadHelix * This,
            /* [in] */ double turns);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Twist )( 
            IAcadHelix * This,
            /* [retval][out] */ AcHelixTwistType *twistType);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Twist )( 
            IAcadHelix * This,
            /* [in] */ AcHelixTwistType twistType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TurnSlope )( 
            IAcadHelix * This,
            /* [retval][out] */ ACAD_ANGLE *slopeAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TotalLength )( 
            IAcadHelix * This,
            /* [retval][out] */ double *totalLength);
        
        END_INTERFACE
    } IAcadHelixVtbl;

    interface IAcadHelix
    {
        CONST_VTBL struct IAcadHelixVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadHelix_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadHelix_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadHelix_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadHelix_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadHelix_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadHelix_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadHelix_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadHelix_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadHelix_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadHelix_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadHelix_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadHelix_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadHelix_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadHelix_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadHelix_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadHelix_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadHelix_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadHelix_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadHelix_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadHelix_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadHelix_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadHelix_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadHelix_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadHelix_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadHelix_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadHelix_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadHelix_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadHelix_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadHelix_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadHelix_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadHelix_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadHelix_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadHelix_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadHelix_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadHelix_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadHelix_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadHelix_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadHelix_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadHelix_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadHelix_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadHelix_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadHelix_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadHelix_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadHelix_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadHelix_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadHelix_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadHelix_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadHelix_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadHelix_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadHelix_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadHelix_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadHelix_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadHelix_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadHelix_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadHelix_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadHelix_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadHelix_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadHelix_get_Position(This,startPoint)	\
    ( (This)->lpVtbl -> get_Position(This,startPoint) ) 

#define IAcadHelix_put_Position(This,startPoint)	\
    ( (This)->lpVtbl -> put_Position(This,startPoint) ) 

#define IAcadHelix_get_Constrain(This,constrainType)	\
    ( (This)->lpVtbl -> get_Constrain(This,constrainType) ) 

#define IAcadHelix_put_Constrain(This,constrainType)	\
    ( (This)->lpVtbl -> put_Constrain(This,constrainType) ) 

#define IAcadHelix_get_Height(This,length)	\
    ( (This)->lpVtbl -> get_Height(This,length) ) 

#define IAcadHelix_put_Height(This,length)	\
    ( (This)->lpVtbl -> put_Height(This,length) ) 

#define IAcadHelix_get_Turns(This,turns)	\
    ( (This)->lpVtbl -> get_Turns(This,turns) ) 

#define IAcadHelix_put_Turns(This,radius)	\
    ( (This)->lpVtbl -> put_Turns(This,radius) ) 

#define IAcadHelix_get_TurnHeight(This,distance)	\
    ( (This)->lpVtbl -> get_TurnHeight(This,distance) ) 

#define IAcadHelix_put_TurnHeight(This,distance)	\
    ( (This)->lpVtbl -> put_TurnHeight(This,distance) ) 

#define IAcadHelix_get_BaseRadius(This,radius)	\
    ( (This)->lpVtbl -> get_BaseRadius(This,radius) ) 

#define IAcadHelix_put_BaseRadius(This,radius)	\
    ( (This)->lpVtbl -> put_BaseRadius(This,radius) ) 

#define IAcadHelix_get_TopRadius(This,radius)	\
    ( (This)->lpVtbl -> get_TopRadius(This,radius) ) 

#define IAcadHelix_put_TopRadius(This,turns)	\
    ( (This)->lpVtbl -> put_TopRadius(This,turns) ) 

#define IAcadHelix_get_Twist(This,twistType)	\
    ( (This)->lpVtbl -> get_Twist(This,twistType) ) 

#define IAcadHelix_put_Twist(This,twistType)	\
    ( (This)->lpVtbl -> put_Twist(This,twistType) ) 

#define IAcadHelix_get_TurnSlope(This,slopeAngle)	\
    ( (This)->lpVtbl -> get_TurnSlope(This,slopeAngle) ) 

#define IAcadHelix_get_TotalLength(This,totalLength)	\
    ( (This)->lpVtbl -> get_TotalLength(This,totalLength) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadHelix_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadHelix,0x2B41B5E7,0x34DA,0x4CB7,0xA0,0xFB,0xD3,0x22,0xD3,0xBB,0xC4,0xA5);

#ifdef __cplusplus

class DECLSPEC_UUID("2B41B5E7-34DA-4CB7-A0FB-D322D3BBC4A5")
AcadHelix;
#endif

#ifndef __IAcadSurface_INTERFACE_DEFINED__
#define __IAcadSurface_INTERFACE_DEFINED__

/* interface IAcadSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSurface,0x1693A295,0xCB4A,0x41F4,0x9A,0x87,0xA2,0x87,0x97,0x48,0x18,0xD7);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1693A295-CB4A-41F4-9A87-A287974818D7")
    IAcadSurface : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SurfaceType( 
            /* [retval][out] */ BSTR *surfaceType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UIsolineDensity( 
            /* [retval][out] */ long *density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UIsolineDensity( 
            /* [in] */ long density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VIsolineDensity( 
            /* [retval][out] */ long *density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VIsolineDensity( 
            /* [in] */ long density) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_WireframeType( 
            /* [retval][out] */ AcWireframeType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_WireframeType( 
            /* [in] */ AcWireframeType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MaintainAssociativity( 
            /* [retval][out] */ int *maintainAssoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MaintainAssociativity( 
            /* [in] */ int maintainAssoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowAssociativity( 
            /* [retval][out] */ VARIANT_BOOL *bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowAssociativity( 
            /* [in] */ VARIANT_BOOL bEnabled) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EdgeExtensionDistances( 
            /* [retval][out] */ VARIANT *extDistances) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EdgeExtensionDistances( 
            /* [in] */ VARIANT extDistances) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SurfTrimAssociativity( 
            /* [retval][out] */ VARIANT *associative) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SurfTrimAssociativity( 
            /* [in] */ VARIANT associative) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadSurface * This,
            /* [in] */ VARIANT associative);
        
        END_INTERFACE
    } IAcadSurfaceVtbl;

    interface IAcadSurface
    {
        CONST_VTBL struct IAcadSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSurface,0xBA9AFD64,0x114E,0x4755,0x9F,0xB8,0x30,0xF4,0x26,0xFE,0x64,0x79);

#ifdef __cplusplus

class DECLSPEC_UUID("BA9AFD64-114E-4755-9FB8-30F426FE6479")
AcadSurface;
#endif

#ifndef __IAcadPlaneSurface_INTERFACE_DEFINED__
#define __IAcadPlaneSurface_INTERFACE_DEFINED__

/* interface IAcadPlaneSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPlaneSurface,0x85B0521D,0xF954,0x45A8,0xB4,0x54,0xE5,0xAE,0x98,0x37,0x14,0x80);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("85B0521D-F954-45A8-B454-E5AE98371480")
    IAcadPlaneSurface : public IAcadSurface
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPlaneSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPlaneSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPlaneSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPlaneSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPlaneSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPlaneSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPlaneSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPlaneSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPlaneSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPlaneSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPlaneSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPlaneSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPlaneSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPlaneSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPlaneSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPlaneSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPlaneSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPlaneSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPlaneSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPlaneSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadPlaneSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadPlaneSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadPlaneSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadPlaneSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadPlaneSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadPlaneSurface * This,
            /* [in] */ VARIANT associative);
        
        END_INTERFACE
    } IAcadPlaneSurfaceVtbl;

    interface IAcadPlaneSurface
    {
        CONST_VTBL struct IAcadPlaneSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPlaneSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPlaneSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPlaneSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPlaneSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPlaneSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPlaneSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPlaneSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPlaneSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPlaneSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPlaneSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPlaneSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPlaneSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPlaneSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPlaneSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPlaneSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPlaneSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPlaneSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPlaneSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPlaneSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPlaneSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPlaneSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPlaneSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPlaneSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPlaneSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPlaneSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPlaneSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPlaneSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPlaneSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPlaneSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPlaneSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPlaneSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPlaneSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPlaneSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPlaneSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPlaneSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPlaneSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPlaneSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPlaneSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPlaneSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPlaneSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPlaneSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPlaneSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPlaneSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPlaneSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPlaneSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPlaneSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPlaneSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPlaneSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPlaneSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPlaneSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPlaneSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPlaneSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPlaneSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPlaneSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPlaneSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPlaneSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPlaneSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPlaneSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadPlaneSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadPlaneSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadPlaneSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadPlaneSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadPlaneSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadPlaneSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadPlaneSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadPlaneSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadPlaneSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadPlaneSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadPlaneSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadPlaneSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadPlaneSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadPlaneSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPlaneSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPlaneSurface,0x8D751624,0x7267,0x4F12,0xB3,0x65,0x43,0x30,0xF6,0xEA,0xFC,0x76);

#ifdef __cplusplus

class DECLSPEC_UUID("8D751624-7267-4F12-B365-4330F6EAFC76")
AcadPlaneSurface;
#endif

#ifndef __IAcadExtrudedSurface_INTERFACE_DEFINED__
#define __IAcadExtrudedSurface_INTERFACE_DEFINED__

/* interface IAcadExtrudedSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadExtrudedSurface,0x83973D23,0x0056,0x46AE,0x90,0x61,0x7E,0x1C,0xFE,0x58,0xC1,0x56);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("83973D23-0056-46AE-9061-7E1CFE58C156")
    IAcadExtrudedSurface : public IAcadSurface
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TaperAngle( 
            /* [retval][out] */ ACAD_ANGLE *taperAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TaperAngle( 
            /* [in] */ ACAD_ANGLE taperAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Direction( 
            /* [retval][out] */ VARIANT *direction) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadExtrudedSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadExtrudedSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadExtrudedSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadExtrudedSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadExtrudedSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadExtrudedSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadExtrudedSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadExtrudedSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadExtrudedSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadExtrudedSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadExtrudedSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadExtrudedSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadExtrudedSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadExtrudedSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadExtrudedSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadExtrudedSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadExtrudedSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadExtrudedSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadExtrudedSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadExtrudedSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadExtrudedSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadExtrudedSurface * This,
            /* [in] */ VARIANT associative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadExtrudedSurface * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TaperAngle )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ ACAD_ANGLE *taperAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TaperAngle )( 
            IAcadExtrudedSurface * This,
            /* [in] */ ACAD_ANGLE taperAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Direction )( 
            IAcadExtrudedSurface * This,
            /* [retval][out] */ VARIANT *direction);
        
        END_INTERFACE
    } IAcadExtrudedSurfaceVtbl;

    interface IAcadExtrudedSurface
    {
        CONST_VTBL struct IAcadExtrudedSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadExtrudedSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadExtrudedSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadExtrudedSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadExtrudedSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadExtrudedSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadExtrudedSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadExtrudedSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadExtrudedSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadExtrudedSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadExtrudedSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadExtrudedSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadExtrudedSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadExtrudedSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadExtrudedSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadExtrudedSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadExtrudedSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadExtrudedSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadExtrudedSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadExtrudedSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadExtrudedSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadExtrudedSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadExtrudedSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadExtrudedSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadExtrudedSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadExtrudedSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadExtrudedSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadExtrudedSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadExtrudedSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadExtrudedSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadExtrudedSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadExtrudedSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadExtrudedSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadExtrudedSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadExtrudedSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadExtrudedSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadExtrudedSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadExtrudedSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadExtrudedSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadExtrudedSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadExtrudedSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadExtrudedSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadExtrudedSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadExtrudedSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadExtrudedSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadExtrudedSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadExtrudedSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadExtrudedSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadExtrudedSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadExtrudedSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadExtrudedSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadExtrudedSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadExtrudedSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadExtrudedSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadExtrudedSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadExtrudedSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadExtrudedSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadExtrudedSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadExtrudedSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadExtrudedSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadExtrudedSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadExtrudedSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadExtrudedSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadExtrudedSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadExtrudedSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadExtrudedSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadExtrudedSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadExtrudedSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadExtrudedSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadExtrudedSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadExtrudedSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadExtrudedSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadExtrudedSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#define IAcadExtrudedSurface_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadExtrudedSurface_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadExtrudedSurface_get_TaperAngle(This,taperAngle)	\
    ( (This)->lpVtbl -> get_TaperAngle(This,taperAngle) ) 

#define IAcadExtrudedSurface_put_TaperAngle(This,taperAngle)	\
    ( (This)->lpVtbl -> put_TaperAngle(This,taperAngle) ) 

#define IAcadExtrudedSurface_get_Direction(This,direction)	\
    ( (This)->lpVtbl -> get_Direction(This,direction) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadExtrudedSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadExtrudedSurface,0xBBC76012,0x02A6,0x4172,0x9B,0xDB,0x90,0xA9,0xD3,0x9B,0xDD,0xD7);

#ifdef __cplusplus

class DECLSPEC_UUID("BBC76012-02A6-4172-9BDB-90A9D39BDDD7")
AcadExtrudedSurface;
#endif

#ifndef __IAcadRevolvedSurface_INTERFACE_DEFINED__
#define __IAcadRevolvedSurface_INTERFACE_DEFINED__

/* interface IAcadRevolvedSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadRevolvedSurface,0x4E0FFD6B,0xE7D0,0x412A,0x8B,0xBE,0x77,0xE9,0x06,0xA5,0xE6,0x23);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4E0FFD6B-E7D0-412A-8BBE-77E906A5E623")
    IAcadRevolvedSurface : public IAcadSurface
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RevolutionAngle( 
            /* [retval][out] */ ACAD_ANGLE *revAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RevolutionAngle( 
            /* [in] */ ACAD_ANGLE revAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AxisPosition( 
            /* [retval][out] */ VARIANT *axisPosition) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AxisPosition( 
            /* [in] */ VARIANT axisPosition) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AxisDirection( 
            /* [retval][out] */ VARIANT *axisDirection) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadRevolvedSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadRevolvedSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadRevolvedSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadRevolvedSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadRevolvedSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadRevolvedSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadRevolvedSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadRevolvedSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadRevolvedSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadRevolvedSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadRevolvedSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadRevolvedSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadRevolvedSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadRevolvedSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadRevolvedSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadRevolvedSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadRevolvedSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadRevolvedSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadRevolvedSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadRevolvedSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadRevolvedSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT associative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RevolutionAngle )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ ACAD_ANGLE *revAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RevolutionAngle )( 
            IAcadRevolvedSurface * This,
            /* [in] */ ACAD_ANGLE revAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AxisPosition )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT *axisPosition);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AxisPosition )( 
            IAcadRevolvedSurface * This,
            /* [in] */ VARIANT axisPosition);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AxisDirection )( 
            IAcadRevolvedSurface * This,
            /* [retval][out] */ VARIANT *axisDirection);
        
        END_INTERFACE
    } IAcadRevolvedSurfaceVtbl;

    interface IAcadRevolvedSurface
    {
        CONST_VTBL struct IAcadRevolvedSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadRevolvedSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadRevolvedSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadRevolvedSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadRevolvedSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadRevolvedSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadRevolvedSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadRevolvedSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadRevolvedSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadRevolvedSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadRevolvedSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadRevolvedSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadRevolvedSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadRevolvedSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadRevolvedSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadRevolvedSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadRevolvedSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadRevolvedSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadRevolvedSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadRevolvedSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadRevolvedSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadRevolvedSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadRevolvedSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadRevolvedSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadRevolvedSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadRevolvedSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadRevolvedSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadRevolvedSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadRevolvedSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadRevolvedSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadRevolvedSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadRevolvedSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadRevolvedSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadRevolvedSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadRevolvedSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadRevolvedSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadRevolvedSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadRevolvedSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadRevolvedSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadRevolvedSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadRevolvedSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadRevolvedSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadRevolvedSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadRevolvedSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadRevolvedSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadRevolvedSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadRevolvedSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadRevolvedSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadRevolvedSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadRevolvedSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadRevolvedSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadRevolvedSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadRevolvedSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadRevolvedSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadRevolvedSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadRevolvedSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadRevolvedSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadRevolvedSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadRevolvedSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadRevolvedSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadRevolvedSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadRevolvedSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadRevolvedSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadRevolvedSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadRevolvedSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadRevolvedSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadRevolvedSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadRevolvedSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadRevolvedSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadRevolvedSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadRevolvedSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadRevolvedSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadRevolvedSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#define IAcadRevolvedSurface_get_RevolutionAngle(This,revAngle)	\
    ( (This)->lpVtbl -> get_RevolutionAngle(This,revAngle) ) 

#define IAcadRevolvedSurface_put_RevolutionAngle(This,revAngle)	\
    ( (This)->lpVtbl -> put_RevolutionAngle(This,revAngle) ) 

#define IAcadRevolvedSurface_get_AxisPosition(This,axisPosition)	\
    ( (This)->lpVtbl -> get_AxisPosition(This,axisPosition) ) 

#define IAcadRevolvedSurface_put_AxisPosition(This,axisPosition)	\
    ( (This)->lpVtbl -> put_AxisPosition(This,axisPosition) ) 

#define IAcadRevolvedSurface_get_AxisDirection(This,axisDirection)	\
    ( (This)->lpVtbl -> get_AxisDirection(This,axisDirection) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadRevolvedSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadRevolvedSurface,0xCB1F97B7,0x66F1,0x4C7B,0xA5,0x29,0xB5,0xFD,0x68,0x94,0xE0,0xE6);

#ifdef __cplusplus

class DECLSPEC_UUID("CB1F97B7-66F1-4C7B-A529-B5FD6894E0E6")
AcadRevolvedSurface;
#endif

#ifndef __IAcadSweptSurface_INTERFACE_DEFINED__
#define __IAcadSweptSurface_INTERFACE_DEFINED__

/* interface IAcadSweptSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSweptSurface,0xB68FDDC3,0xF6EA,0x47CF,0x89,0xEE,0x86,0x07,0xF6,0x2E,0xF9,0x09);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B68FDDC3-F6EA-47CF-89EE-8607F62EF909")
    IAcadSweptSurface : public IAcadSurface
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ProfileRotation( 
            /* [retval][out] */ ACAD_ANGLE *profileRotationAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ProfileRotation( 
            /* [in] */ ACAD_ANGLE profileRotationAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Bank( 
            /* [retval][out] */ VARIANT_BOOL *bBank) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Bank( 
            /* [in] */ VARIANT_BOOL bBank) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Twist( 
            /* [retval][out] */ ACAD_ANGLE *twistAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Twist( 
            /* [in] */ ACAD_ANGLE twistAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Scale( 
            /* [retval][out] */ double *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Scale( 
            /* [in] */ double scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ double *length) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSweptSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSweptSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSweptSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSweptSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSweptSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSweptSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSweptSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSweptSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSweptSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSweptSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSweptSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSweptSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSweptSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSweptSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSweptSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSweptSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSweptSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSweptSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSweptSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSweptSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadSweptSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadSweptSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadSweptSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadSweptSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT associative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProfileRotation )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ ACAD_ANGLE *profileRotationAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProfileRotation )( 
            IAcadSweptSurface * This,
            /* [in] */ ACAD_ANGLE profileRotationAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Bank )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bBank);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Bank )( 
            IAcadSweptSurface * This,
            /* [in] */ VARIANT_BOOL bBank);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Twist )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ ACAD_ANGLE *twistAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Twist )( 
            IAcadSweptSurface * This,
            /* [in] */ ACAD_ANGLE twistAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scale )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ double *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Scale )( 
            IAcadSweptSurface * This,
            /* [in] */ double scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcadSweptSurface * This,
            /* [retval][out] */ double *length);
        
        END_INTERFACE
    } IAcadSweptSurfaceVtbl;

    interface IAcadSweptSurface
    {
        CONST_VTBL struct IAcadSweptSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSweptSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSweptSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSweptSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSweptSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSweptSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSweptSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSweptSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSweptSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSweptSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSweptSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSweptSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSweptSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSweptSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSweptSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSweptSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSweptSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSweptSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSweptSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSweptSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSweptSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSweptSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSweptSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSweptSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSweptSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSweptSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSweptSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSweptSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSweptSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSweptSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSweptSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSweptSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSweptSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSweptSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSweptSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSweptSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSweptSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSweptSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSweptSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSweptSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSweptSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSweptSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSweptSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSweptSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSweptSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSweptSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSweptSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSweptSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSweptSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSweptSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSweptSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSweptSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSweptSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSweptSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSweptSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSweptSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSweptSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSweptSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSweptSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadSweptSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadSweptSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadSweptSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadSweptSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadSweptSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadSweptSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadSweptSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadSweptSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadSweptSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadSweptSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadSweptSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadSweptSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadSweptSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadSweptSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#define IAcadSweptSurface_get_ProfileRotation(This,profileRotationAngle)	\
    ( (This)->lpVtbl -> get_ProfileRotation(This,profileRotationAngle) ) 

#define IAcadSweptSurface_put_ProfileRotation(This,profileRotationAngle)	\
    ( (This)->lpVtbl -> put_ProfileRotation(This,profileRotationAngle) ) 

#define IAcadSweptSurface_get_Bank(This,bBank)	\
    ( (This)->lpVtbl -> get_Bank(This,bBank) ) 

#define IAcadSweptSurface_put_Bank(This,bBank)	\
    ( (This)->lpVtbl -> put_Bank(This,bBank) ) 

#define IAcadSweptSurface_get_Twist(This,twistAngle)	\
    ( (This)->lpVtbl -> get_Twist(This,twistAngle) ) 

#define IAcadSweptSurface_put_Twist(This,twistAngle)	\
    ( (This)->lpVtbl -> put_Twist(This,twistAngle) ) 

#define IAcadSweptSurface_get_Scale(This,scale)	\
    ( (This)->lpVtbl -> get_Scale(This,scale) ) 

#define IAcadSweptSurface_put_Scale(This,scale)	\
    ( (This)->lpVtbl -> put_Scale(This,scale) ) 

#define IAcadSweptSurface_get_Length(This,length)	\
    ( (This)->lpVtbl -> get_Length(This,length) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSweptSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSweptSurface,0x2FAFFE29,0xEFF6,0x40B0,0xAD,0x3B,0x49,0x9D,0xDA,0xBA,0x34,0xD8);

#ifdef __cplusplus

class DECLSPEC_UUID("2FAFFE29-EFF6-40B0-AD3B-499DDABA34D8")
AcadSweptSurface;
#endif

#ifndef __IAcadLoftedSurface_INTERFACE_DEFINED__
#define __IAcadLoftedSurface_INTERFACE_DEFINED__

/* interface IAcadLoftedSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLoftedSurface,0x34D61AE8,0xF711,0x4AEF,0x9B,0xDA,0x42,0x64,0x39,0x26,0x6A,0xFE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("34D61AE8-F711-4AEF-9BDA-426439266AFE")
    IAcadLoftedSurface : public IAcadSurface
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumCrossSections( 
            /* [retval][out] */ long *numCrossSections) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumGuidePaths( 
            /* [retval][out] */ long *numGuidePaths) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SurfaceNormals( 
            /* [retval][out] */ AcLoftedSurfaceNormalType *surfaceNormal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SurfaceNormals( 
            /* [in] */ AcLoftedSurfaceNormalType surfaceNormal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartDraftAngle( 
            /* [retval][out] */ ACAD_ANGLE *startDraftAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartDraftAngle( 
            /* [in] */ ACAD_ANGLE startDraftAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartDraftMagnitude( 
            /* [retval][out] */ double *startDraftMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartDraftMagnitude( 
            /* [in] */ double startDraftMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndDraftAngle( 
            /* [retval][out] */ ACAD_ANGLE *endDraftAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndDraftAngle( 
            /* [in] */ ACAD_ANGLE endDraftAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndDraftMagnitude( 
            /* [retval][out] */ double *endDraftMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndDraftMagnitude( 
            /* [in] */ double endDraftMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Closed( 
            /* [retval][out] */ VARIANT_BOOL *bClosed) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Closed( 
            /* [in] */ VARIANT_BOOL bClosed) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartSmoothMagnitude( 
            /* [retval][out] */ double *startSmoothMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartSmoothMagnitude( 
            /* [in] */ double startSmoothMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndSmoothMagnitude( 
            /* [retval][out] */ double *endSmoothMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndSmoothMagnitude( 
            /* [in] */ double endSmoothMag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StartSmoothContinuity( 
            /* [retval][out] */ int *startSmoothContinuity) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StartSmoothContinuity( 
            /* [in] */ int startSmoothContinuity) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_EndSmoothContinuity( 
            /* [retval][out] */ int *endSmoothContinuity) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_EndSmoothContinuity( 
            /* [in] */ int endSmoothContinuity) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Periodic( 
            /* [retval][out] */ VARIANT_BOOL *bPeriodic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Periodic( 
            /* [in] */ VARIANT_BOOL bPeriodic) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLoftedSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLoftedSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLoftedSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLoftedSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLoftedSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLoftedSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLoftedSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLoftedSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLoftedSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadLoftedSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadLoftedSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadLoftedSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadLoftedSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadLoftedSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadLoftedSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadLoftedSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadLoftedSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadLoftedSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadLoftedSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadLoftedSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadLoftedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadLoftedSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadLoftedSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadLoftedSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT associative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumCrossSections )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ long *numCrossSections);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumGuidePaths )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ long *numGuidePaths);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceNormals )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ AcLoftedSurfaceNormalType *surfaceNormal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfaceNormals )( 
            IAcadLoftedSurface * This,
            /* [in] */ AcLoftedSurfaceNormalType surfaceNormal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartDraftAngle )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ ACAD_ANGLE *startDraftAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartDraftAngle )( 
            IAcadLoftedSurface * This,
            /* [in] */ ACAD_ANGLE startDraftAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartDraftMagnitude )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ double *startDraftMag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartDraftMagnitude )( 
            IAcadLoftedSurface * This,
            /* [in] */ double startDraftMag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndDraftAngle )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ ACAD_ANGLE *endDraftAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndDraftAngle )( 
            IAcadLoftedSurface * This,
            /* [in] */ ACAD_ANGLE endDraftAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndDraftMagnitude )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ double *endDraftMag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndDraftMagnitude )( 
            IAcadLoftedSurface * This,
            /* [in] */ double endDraftMag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Closed )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bClosed);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Closed )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT_BOOL bClosed);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartSmoothMagnitude )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ double *startSmoothMag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartSmoothMagnitude )( 
            IAcadLoftedSurface * This,
            /* [in] */ double startSmoothMag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndSmoothMagnitude )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ double *endSmoothMag);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndSmoothMagnitude )( 
            IAcadLoftedSurface * This,
            /* [in] */ double endSmoothMag);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StartSmoothContinuity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ int *startSmoothContinuity);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StartSmoothContinuity )( 
            IAcadLoftedSurface * This,
            /* [in] */ int startSmoothContinuity);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndSmoothContinuity )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ int *endSmoothContinuity);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndSmoothContinuity )( 
            IAcadLoftedSurface * This,
            /* [in] */ int endSmoothContinuity);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Periodic )( 
            IAcadLoftedSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bPeriodic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Periodic )( 
            IAcadLoftedSurface * This,
            /* [in] */ VARIANT_BOOL bPeriodic);
        
        END_INTERFACE
    } IAcadLoftedSurfaceVtbl;

    interface IAcadLoftedSurface
    {
        CONST_VTBL struct IAcadLoftedSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLoftedSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLoftedSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLoftedSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLoftedSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLoftedSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLoftedSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLoftedSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLoftedSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadLoftedSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadLoftedSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadLoftedSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadLoftedSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadLoftedSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadLoftedSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadLoftedSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadLoftedSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadLoftedSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadLoftedSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadLoftedSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadLoftedSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadLoftedSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadLoftedSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadLoftedSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadLoftedSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadLoftedSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadLoftedSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadLoftedSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadLoftedSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadLoftedSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadLoftedSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadLoftedSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadLoftedSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadLoftedSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadLoftedSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadLoftedSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadLoftedSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadLoftedSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadLoftedSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadLoftedSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadLoftedSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadLoftedSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadLoftedSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadLoftedSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadLoftedSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadLoftedSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadLoftedSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadLoftedSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadLoftedSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadLoftedSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadLoftedSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadLoftedSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadLoftedSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadLoftedSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadLoftedSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadLoftedSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadLoftedSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadLoftedSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadLoftedSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadLoftedSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadLoftedSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadLoftedSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadLoftedSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadLoftedSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadLoftedSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadLoftedSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadLoftedSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadLoftedSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadLoftedSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadLoftedSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadLoftedSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadLoftedSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadLoftedSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#define IAcadLoftedSurface_get_NumCrossSections(This,numCrossSections)	\
    ( (This)->lpVtbl -> get_NumCrossSections(This,numCrossSections) ) 

#define IAcadLoftedSurface_get_NumGuidePaths(This,numGuidePaths)	\
    ( (This)->lpVtbl -> get_NumGuidePaths(This,numGuidePaths) ) 

#define IAcadLoftedSurface_get_SurfaceNormals(This,surfaceNormal)	\
    ( (This)->lpVtbl -> get_SurfaceNormals(This,surfaceNormal) ) 

#define IAcadLoftedSurface_put_SurfaceNormals(This,surfaceNormal)	\
    ( (This)->lpVtbl -> put_SurfaceNormals(This,surfaceNormal) ) 

#define IAcadLoftedSurface_get_StartDraftAngle(This,startDraftAngle)	\
    ( (This)->lpVtbl -> get_StartDraftAngle(This,startDraftAngle) ) 

#define IAcadLoftedSurface_put_StartDraftAngle(This,startDraftAngle)	\
    ( (This)->lpVtbl -> put_StartDraftAngle(This,startDraftAngle) ) 

#define IAcadLoftedSurface_get_StartDraftMagnitude(This,startDraftMag)	\
    ( (This)->lpVtbl -> get_StartDraftMagnitude(This,startDraftMag) ) 

#define IAcadLoftedSurface_put_StartDraftMagnitude(This,startDraftMag)	\
    ( (This)->lpVtbl -> put_StartDraftMagnitude(This,startDraftMag) ) 

#define IAcadLoftedSurface_get_EndDraftAngle(This,endDraftAngle)	\
    ( (This)->lpVtbl -> get_EndDraftAngle(This,endDraftAngle) ) 

#define IAcadLoftedSurface_put_EndDraftAngle(This,endDraftAngle)	\
    ( (This)->lpVtbl -> put_EndDraftAngle(This,endDraftAngle) ) 

#define IAcadLoftedSurface_get_EndDraftMagnitude(This,endDraftMag)	\
    ( (This)->lpVtbl -> get_EndDraftMagnitude(This,endDraftMag) ) 

#define IAcadLoftedSurface_put_EndDraftMagnitude(This,endDraftMag)	\
    ( (This)->lpVtbl -> put_EndDraftMagnitude(This,endDraftMag) ) 

#define IAcadLoftedSurface_get_Closed(This,bClosed)	\
    ( (This)->lpVtbl -> get_Closed(This,bClosed) ) 

#define IAcadLoftedSurface_put_Closed(This,bClosed)	\
    ( (This)->lpVtbl -> put_Closed(This,bClosed) ) 

#define IAcadLoftedSurface_get_StartSmoothMagnitude(This,startSmoothMag)	\
    ( (This)->lpVtbl -> get_StartSmoothMagnitude(This,startSmoothMag) ) 

#define IAcadLoftedSurface_put_StartSmoothMagnitude(This,startSmoothMag)	\
    ( (This)->lpVtbl -> put_StartSmoothMagnitude(This,startSmoothMag) ) 

#define IAcadLoftedSurface_get_EndSmoothMagnitude(This,endSmoothMag)	\
    ( (This)->lpVtbl -> get_EndSmoothMagnitude(This,endSmoothMag) ) 

#define IAcadLoftedSurface_put_EndSmoothMagnitude(This,endSmoothMag)	\
    ( (This)->lpVtbl -> put_EndSmoothMagnitude(This,endSmoothMag) ) 

#define IAcadLoftedSurface_get_StartSmoothContinuity(This,startSmoothContinuity)	\
    ( (This)->lpVtbl -> get_StartSmoothContinuity(This,startSmoothContinuity) ) 

#define IAcadLoftedSurface_put_StartSmoothContinuity(This,startSmoothContinuity)	\
    ( (This)->lpVtbl -> put_StartSmoothContinuity(This,startSmoothContinuity) ) 

#define IAcadLoftedSurface_get_EndSmoothContinuity(This,endSmoothContinuity)	\
    ( (This)->lpVtbl -> get_EndSmoothContinuity(This,endSmoothContinuity) ) 

#define IAcadLoftedSurface_put_EndSmoothContinuity(This,endSmoothContinuity)	\
    ( (This)->lpVtbl -> put_EndSmoothContinuity(This,endSmoothContinuity) ) 

#define IAcadLoftedSurface_get_Periodic(This,bPeriodic)	\
    ( (This)->lpVtbl -> get_Periodic(This,bPeriodic) ) 

#define IAcadLoftedSurface_put_Periodic(This,bPeriodic)	\
    ( (This)->lpVtbl -> put_Periodic(This,bPeriodic) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLoftedSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLoftedSurface,0x44797D71,0xED09,0x41A1,0xBB,0x32,0x1D,0xB2,0x6C,0x1A,0x47,0x31);

#ifdef __cplusplus

class DECLSPEC_UUID("44797D71-ED09-41A1-BB32-1DB26C1A4731")
AcadLoftedSurface;
#endif

#ifndef __IAcadSection_INTERFACE_DEFINED__
#define __IAcadSection_INTERFACE_DEFINED__

/* interface IAcadSection */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSection,0x0932CF1C,0x7019,0x417E,0x82,0x21,0x2B,0x16,0x4C,0x5F,0x50,0xB7);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0932CF1C-7019-417E-8221-2B164C5F50B7")
    IAcadSection : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pbstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR pbstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State( 
            /* [retval][out] */ AcSectionState *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_State( 
            /* [in] */ AcSectionState val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ViewingDirection( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ViewingDirection( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalDirection( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalDirection( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LiveSectionEnabled( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LiveSectionEnabled( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IndicatorTransparency( 
            /* [retval][out] */ int *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IndicatorTransparency( 
            /* [in] */ int val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IndicatorFillColor( 
            /* [retval][out] */ IAcadAcCmColor **pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IndicatorFillColor( 
            /* [in] */ IAcadAcCmColor *pColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Elevation( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Elevation( 
            /* [in] */ double val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TopHeight( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TopHeight( 
            /* [in] */ double val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BottomHeight( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BottomHeight( 
            /* [in] */ double val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumVertices( 
            /* [retval][out] */ int *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Vertices( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Vertices( 
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddVertex( 
            /* [in] */ int nIndex,
            /* [in] */ VARIANT val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveVertex( 
            /* [in] */ int nIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE HitTest( 
            /* [in] */ VARIANT varPtHit,
            /* [out] */ VARIANT_BOOL *pHit,
            /* [out] */ int *pSegmentIndex,
            /* [out] */ VARIANT *pPtOnSegment,
            /* [out] */ AcSectionSubItem *pSubItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateJog( 
            /* [in] */ VARIANT varPt) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Settings( 
            /* [retval][out] */ IAcadSectionSettings **pUnk) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GenerateSectionGeometry( 
            /* [in] */ IAcadEntity *pEntity,
            /* [out] */ VARIANT *pIntersectionBoundaryObjs,
            /* [out] */ VARIANT *pIntersectionFillObjs,
            /* [out] */ VARIANT *pBackgroudnObjs,
            /* [out] */ VARIANT *pForegroudObjs,
            /* [out] */ VARIANT *pCurveTangencyObjs) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSection * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSection * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSection * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSection * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSection * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSection * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSection * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSection * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSection * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSection * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSection * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSection * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSection * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSection * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSection * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSection * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSection * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSection * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSection * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSection * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSection * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSection * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSection * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSection * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSection * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSection * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSection * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSection * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSection * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSection * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSection * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSection * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSection * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSection * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSection * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSection * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadSection * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadSection * This,
            /* [in] */ BSTR pbstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IAcadSection * This,
            /* [retval][out] */ AcSectionState *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            IAcadSection * This,
            /* [in] */ AcSectionState val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewingDirection )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewingDirection )( 
            IAcadSection * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalDirection )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalDirection )( 
            IAcadSection * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LiveSectionEnabled )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LiveSectionEnabled )( 
            IAcadSection * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IndicatorTransparency )( 
            IAcadSection * This,
            /* [retval][out] */ int *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IndicatorTransparency )( 
            IAcadSection * This,
            /* [in] */ int val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IndicatorFillColor )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IndicatorFillColor )( 
            IAcadSection * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IAcadSection * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IAcadSection * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TopHeight )( 
            IAcadSection * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TopHeight )( 
            IAcadSection * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BottomHeight )( 
            IAcadSection * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BottomHeight )( 
            IAcadSection * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumVertices )( 
            IAcadSection * This,
            /* [retval][out] */ int *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Vertices )( 
            IAcadSection * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Vertices )( 
            IAcadSection * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadSection * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadSection * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddVertex )( 
            IAcadSection * This,
            /* [in] */ int nIndex,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveVertex )( 
            IAcadSection * This,
            /* [in] */ int nIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HitTest )( 
            IAcadSection * This,
            /* [in] */ VARIANT varPtHit,
            /* [out] */ VARIANT_BOOL *pHit,
            /* [out] */ int *pSegmentIndex,
            /* [out] */ VARIANT *pPtOnSegment,
            /* [out] */ AcSectionSubItem *pSubItem);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateJog )( 
            IAcadSection * This,
            /* [in] */ VARIANT varPt);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            IAcadSection * This,
            /* [retval][out] */ IAcadSectionSettings **pUnk);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateSectionGeometry )( 
            IAcadSection * This,
            /* [in] */ IAcadEntity *pEntity,
            /* [out] */ VARIANT *pIntersectionBoundaryObjs,
            /* [out] */ VARIANT *pIntersectionFillObjs,
            /* [out] */ VARIANT *pBackgroudnObjs,
            /* [out] */ VARIANT *pForegroudObjs,
            /* [out] */ VARIANT *pCurveTangencyObjs);
        
        END_INTERFACE
    } IAcadSectionVtbl;

    interface IAcadSection
    {
        CONST_VTBL struct IAcadSectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSection_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSection_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSection_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSection_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSection_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSection_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSection_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSection_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSection_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSection_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSection_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSection_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSection_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSection_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSection_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSection_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSection_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSection_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSection_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSection_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSection_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSection_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSection_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSection_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSection_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSection_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSection_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSection_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSection_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSection_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSection_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSection_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSection_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSection_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSection_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSection_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSection_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSection_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSection_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSection_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSection_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSection_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSection_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSection_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSection_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSection_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSection_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSection_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSection_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSection_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSection_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define IAcadSection_put_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> put_Name(This,pbstrName) ) 

#define IAcadSection_get_State(This,pVal)	\
    ( (This)->lpVtbl -> get_State(This,pVal) ) 

#define IAcadSection_put_State(This,val)	\
    ( (This)->lpVtbl -> put_State(This,val) ) 

#define IAcadSection_get_ViewingDirection(This,pVal)	\
    ( (This)->lpVtbl -> get_ViewingDirection(This,pVal) ) 

#define IAcadSection_put_ViewingDirection(This,val)	\
    ( (This)->lpVtbl -> put_ViewingDirection(This,val) ) 

#define IAcadSection_get_VerticalDirection(This,pVal)	\
    ( (This)->lpVtbl -> get_VerticalDirection(This,pVal) ) 

#define IAcadSection_put_VerticalDirection(This,val)	\
    ( (This)->lpVtbl -> put_VerticalDirection(This,val) ) 

#define IAcadSection_get_Normal(This,pVal)	\
    ( (This)->lpVtbl -> get_Normal(This,pVal) ) 

#define IAcadSection_get_LiveSectionEnabled(This,pVal)	\
    ( (This)->lpVtbl -> get_LiveSectionEnabled(This,pVal) ) 

#define IAcadSection_put_LiveSectionEnabled(This,val)	\
    ( (This)->lpVtbl -> put_LiveSectionEnabled(This,val) ) 

#define IAcadSection_get_IndicatorTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_IndicatorTransparency(This,pVal) ) 

#define IAcadSection_put_IndicatorTransparency(This,val)	\
    ( (This)->lpVtbl -> put_IndicatorTransparency(This,val) ) 

#define IAcadSection_get_IndicatorFillColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IndicatorFillColor(This,pColor) ) 

#define IAcadSection_put_IndicatorFillColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IndicatorFillColor(This,pColor) ) 

#define IAcadSection_get_Elevation(This,pVal)	\
    ( (This)->lpVtbl -> get_Elevation(This,pVal) ) 

#define IAcadSection_put_Elevation(This,val)	\
    ( (This)->lpVtbl -> put_Elevation(This,val) ) 

#define IAcadSection_get_TopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_TopHeight(This,pVal) ) 

#define IAcadSection_put_TopHeight(This,val)	\
    ( (This)->lpVtbl -> put_TopHeight(This,val) ) 

#define IAcadSection_get_BottomHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_BottomHeight(This,pVal) ) 

#define IAcadSection_put_BottomHeight(This,val)	\
    ( (This)->lpVtbl -> put_BottomHeight(This,val) ) 

#define IAcadSection_get_NumVertices(This,pVal)	\
    ( (This)->lpVtbl -> get_NumVertices(This,pVal) ) 

#define IAcadSection_get_Vertices(This,pVal)	\
    ( (This)->lpVtbl -> get_Vertices(This,pVal) ) 

#define IAcadSection_put_Vertices(This,val)	\
    ( (This)->lpVtbl -> put_Vertices(This,val) ) 

#define IAcadSection_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadSection_put_Coordinate(This,Index,val)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,val) ) 

#define IAcadSection_AddVertex(This,nIndex,val)	\
    ( (This)->lpVtbl -> AddVertex(This,nIndex,val) ) 

#define IAcadSection_RemoveVertex(This,nIndex)	\
    ( (This)->lpVtbl -> RemoveVertex(This,nIndex) ) 

#define IAcadSection_HitTest(This,varPtHit,pHit,pSegmentIndex,pPtOnSegment,pSubItem)	\
    ( (This)->lpVtbl -> HitTest(This,varPtHit,pHit,pSegmentIndex,pPtOnSegment,pSubItem) ) 

#define IAcadSection_CreateJog(This,varPt)	\
    ( (This)->lpVtbl -> CreateJog(This,varPt) ) 

#define IAcadSection_get_Settings(This,pUnk)	\
    ( (This)->lpVtbl -> get_Settings(This,pUnk) ) 

#define IAcadSection_GenerateSectionGeometry(This,pEntity,pIntersectionBoundaryObjs,pIntersectionFillObjs,pBackgroudnObjs,pForegroudObjs,pCurveTangencyObjs)	\
    ( (This)->lpVtbl -> GenerateSectionGeometry(This,pEntity,pIntersectionBoundaryObjs,pIntersectionFillObjs,pBackgroudnObjs,pForegroudObjs,pCurveTangencyObjs) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSection_INTERFACE_DEFINED__ */


#ifndef __IAcadSection2_INTERFACE_DEFINED__
#define __IAcadSection2_INTERFACE_DEFINED__

/* interface IAcadSection2 */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSection2,0xD11207BC,0x03F6,0x4754,0xBD,0x37,0x0B,0x48,0x90,0x7A,0x97,0x8B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D11207BC-03F6-4754-BD37-0B48907A978B")
    IAcadSection2 : public IAcadSection
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_State2( 
            /* [retval][out] */ AcSectionState2 *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_State2( 
            /* [in] */ AcSectionState2 val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SliceDepth( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SliceDepth( 
            /* [in] */ double val) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SectionPlaneOffset( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SectionPlaneOffset( 
            /* [in] */ double val) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSection2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSection2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSection2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSection2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSection2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSection2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSection2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSection2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSection2 * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSection2 * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSection2 * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSection2 * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSection2 * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSection2 * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSection2 * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSection2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSection2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSection2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSection2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSection2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSection2 * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSection2 * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSection2 * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSection2 * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSection2 * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSection2 * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSection2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSection2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSection2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSection2 * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSection2 * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSection2 * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSection2 * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSection2 * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadSection2 * This,
            /* [retval][out] */ BSTR *pbstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadSection2 * This,
            /* [in] */ BSTR pbstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
            IAcadSection2 * This,
            /* [retval][out] */ AcSectionState *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State )( 
            IAcadSection2 * This,
            /* [in] */ AcSectionState val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ViewingDirection )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ViewingDirection )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalDirection )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalDirection )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LiveSectionEnabled )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LiveSectionEnabled )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IndicatorTransparency )( 
            IAcadSection2 * This,
            /* [retval][out] */ int *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IndicatorTransparency )( 
            IAcadSection2 * This,
            /* [in] */ int val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IndicatorFillColor )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IndicatorFillColor )( 
            IAcadSection2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Elevation )( 
            IAcadSection2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Elevation )( 
            IAcadSection2 * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TopHeight )( 
            IAcadSection2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TopHeight )( 
            IAcadSection2 * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BottomHeight )( 
            IAcadSection2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BottomHeight )( 
            IAcadSection2 * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumVertices )( 
            IAcadSection2 * This,
            /* [retval][out] */ int *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Vertices )( 
            IAcadSection2 * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Vertices )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadSection2 * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadSection2 * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddVertex )( 
            IAcadSection2 * This,
            /* [in] */ int nIndex,
            /* [in] */ VARIANT val);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveVertex )( 
            IAcadSection2 * This,
            /* [in] */ int nIndex);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HitTest )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT varPtHit,
            /* [out] */ VARIANT_BOOL *pHit,
            /* [out] */ int *pSegmentIndex,
            /* [out] */ VARIANT *pPtOnSegment,
            /* [out] */ AcSectionSubItem *pSubItem);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateJog )( 
            IAcadSection2 * This,
            /* [in] */ VARIANT varPt);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Settings )( 
            IAcadSection2 * This,
            /* [retval][out] */ IAcadSectionSettings **pUnk);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GenerateSectionGeometry )( 
            IAcadSection2 * This,
            /* [in] */ IAcadEntity *pEntity,
            /* [out] */ VARIANT *pIntersectionBoundaryObjs,
            /* [out] */ VARIANT *pIntersectionFillObjs,
            /* [out] */ VARIANT *pBackgroudnObjs,
            /* [out] */ VARIANT *pForegroudObjs,
            /* [out] */ VARIANT *pCurveTangencyObjs);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State2 )( 
            IAcadSection2 * This,
            /* [retval][out] */ AcSectionState2 *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_State2 )( 
            IAcadSection2 * This,
            /* [in] */ AcSectionState2 val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SliceDepth )( 
            IAcadSection2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SliceDepth )( 
            IAcadSection2 * This,
            /* [in] */ double val);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SectionPlaneOffset )( 
            IAcadSection2 * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SectionPlaneOffset )( 
            IAcadSection2 * This,
            /* [in] */ double val);
        
        END_INTERFACE
    } IAcadSection2Vtbl;

    interface IAcadSection2
    {
        CONST_VTBL struct IAcadSection2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSection2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSection2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSection2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSection2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSection2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSection2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSection2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSection2_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSection2_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSection2_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSection2_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSection2_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSection2_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSection2_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSection2_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSection2_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSection2_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSection2_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSection2_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSection2_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSection2_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSection2_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSection2_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSection2_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSection2_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSection2_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSection2_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSection2_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSection2_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSection2_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSection2_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSection2_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSection2_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSection2_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSection2_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSection2_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSection2_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSection2_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSection2_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSection2_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSection2_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSection2_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSection2_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSection2_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSection2_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSection2_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSection2_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSection2_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSection2_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSection2_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSection2_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSection2_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSection2_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSection2_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSection2_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSection2_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSection2_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSection2_get_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> get_Name(This,pbstrName) ) 

#define IAcadSection2_put_Name(This,pbstrName)	\
    ( (This)->lpVtbl -> put_Name(This,pbstrName) ) 

#define IAcadSection2_get_State(This,pVal)	\
    ( (This)->lpVtbl -> get_State(This,pVal) ) 

#define IAcadSection2_put_State(This,val)	\
    ( (This)->lpVtbl -> put_State(This,val) ) 

#define IAcadSection2_get_ViewingDirection(This,pVal)	\
    ( (This)->lpVtbl -> get_ViewingDirection(This,pVal) ) 

#define IAcadSection2_put_ViewingDirection(This,val)	\
    ( (This)->lpVtbl -> put_ViewingDirection(This,val) ) 

#define IAcadSection2_get_VerticalDirection(This,pVal)	\
    ( (This)->lpVtbl -> get_VerticalDirection(This,pVal) ) 

#define IAcadSection2_put_VerticalDirection(This,val)	\
    ( (This)->lpVtbl -> put_VerticalDirection(This,val) ) 

#define IAcadSection2_get_Normal(This,pVal)	\
    ( (This)->lpVtbl -> get_Normal(This,pVal) ) 

#define IAcadSection2_get_LiveSectionEnabled(This,pVal)	\
    ( (This)->lpVtbl -> get_LiveSectionEnabled(This,pVal) ) 

#define IAcadSection2_put_LiveSectionEnabled(This,val)	\
    ( (This)->lpVtbl -> put_LiveSectionEnabled(This,val) ) 

#define IAcadSection2_get_IndicatorTransparency(This,pVal)	\
    ( (This)->lpVtbl -> get_IndicatorTransparency(This,pVal) ) 

#define IAcadSection2_put_IndicatorTransparency(This,val)	\
    ( (This)->lpVtbl -> put_IndicatorTransparency(This,val) ) 

#define IAcadSection2_get_IndicatorFillColor(This,pColor)	\
    ( (This)->lpVtbl -> get_IndicatorFillColor(This,pColor) ) 

#define IAcadSection2_put_IndicatorFillColor(This,pColor)	\
    ( (This)->lpVtbl -> put_IndicatorFillColor(This,pColor) ) 

#define IAcadSection2_get_Elevation(This,pVal)	\
    ( (This)->lpVtbl -> get_Elevation(This,pVal) ) 

#define IAcadSection2_put_Elevation(This,val)	\
    ( (This)->lpVtbl -> put_Elevation(This,val) ) 

#define IAcadSection2_get_TopHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_TopHeight(This,pVal) ) 

#define IAcadSection2_put_TopHeight(This,val)	\
    ( (This)->lpVtbl -> put_TopHeight(This,val) ) 

#define IAcadSection2_get_BottomHeight(This,pVal)	\
    ( (This)->lpVtbl -> get_BottomHeight(This,pVal) ) 

#define IAcadSection2_put_BottomHeight(This,val)	\
    ( (This)->lpVtbl -> put_BottomHeight(This,val) ) 

#define IAcadSection2_get_NumVertices(This,pVal)	\
    ( (This)->lpVtbl -> get_NumVertices(This,pVal) ) 

#define IAcadSection2_get_Vertices(This,pVal)	\
    ( (This)->lpVtbl -> get_Vertices(This,pVal) ) 

#define IAcadSection2_put_Vertices(This,val)	\
    ( (This)->lpVtbl -> put_Vertices(This,val) ) 

#define IAcadSection2_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadSection2_put_Coordinate(This,Index,val)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,val) ) 

#define IAcadSection2_AddVertex(This,nIndex,val)	\
    ( (This)->lpVtbl -> AddVertex(This,nIndex,val) ) 

#define IAcadSection2_RemoveVertex(This,nIndex)	\
    ( (This)->lpVtbl -> RemoveVertex(This,nIndex) ) 

#define IAcadSection2_HitTest(This,varPtHit,pHit,pSegmentIndex,pPtOnSegment,pSubItem)	\
    ( (This)->lpVtbl -> HitTest(This,varPtHit,pHit,pSegmentIndex,pPtOnSegment,pSubItem) ) 

#define IAcadSection2_CreateJog(This,varPt)	\
    ( (This)->lpVtbl -> CreateJog(This,varPt) ) 

#define IAcadSection2_get_Settings(This,pUnk)	\
    ( (This)->lpVtbl -> get_Settings(This,pUnk) ) 

#define IAcadSection2_GenerateSectionGeometry(This,pEntity,pIntersectionBoundaryObjs,pIntersectionFillObjs,pBackgroudnObjs,pForegroudObjs,pCurveTangencyObjs)	\
    ( (This)->lpVtbl -> GenerateSectionGeometry(This,pEntity,pIntersectionBoundaryObjs,pIntersectionFillObjs,pBackgroudnObjs,pForegroudObjs,pCurveTangencyObjs) ) 


#define IAcadSection2_get_State2(This,pVal)	\
    ( (This)->lpVtbl -> get_State2(This,pVal) ) 

#define IAcadSection2_put_State2(This,val)	\
    ( (This)->lpVtbl -> put_State2(This,val) ) 

#define IAcadSection2_get_SliceDepth(This,pVal)	\
    ( (This)->lpVtbl -> get_SliceDepth(This,pVal) ) 

#define IAcadSection2_put_SliceDepth(This,val)	\
    ( (This)->lpVtbl -> put_SliceDepth(This,val) ) 

#define IAcadSection2_get_SectionPlaneOffset(This,pVal)	\
    ( (This)->lpVtbl -> get_SectionPlaneOffset(This,pVal) ) 

#define IAcadSection2_put_SectionPlaneOffset(This,val)	\
    ( (This)->lpVtbl -> put_SectionPlaneOffset(This,val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSection2_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSection,0x78C9BF6F,0x8514,0x41E1,0xB8,0x1F,0x00,0x3A,0xD0,0xCC,0xB1,0x9F);

#ifdef __cplusplus

class DECLSPEC_UUID("78C9BF6F-8514-41E1-B81F-003AD0CCB19F")
AcadSection;
#endif

#ifndef __IAcadSectionManager_INTERFACE_DEFINED__
#define __IAcadSectionManager_INTERFACE_DEFINED__

/* interface IAcadSectionManager */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSectionManager,0x20DC787F,0x42A4,0x4DF6,0xB6,0x8E,0x2F,0x9A,0x19,0xFF,0x1D,0xA3);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("20DC787F-42A4-4DF6-B68E-2F9A19FF1DA3")
    IAcadSectionManager : public IAcadObject
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadSection **pSection) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetLiveSection( 
            /* [retval][out] */ IAcadSection **pSection) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetUniqueSectionName( 
            /* [in] */ BSTR pBaseName,
            /* [retval][out] */ BSTR *ppUniqueName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSectionManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSectionManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSectionManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSectionManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSectionManager * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSectionManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSectionManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSectionManager * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSectionManager * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSectionManager * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSectionManager * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSectionManager * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSectionManager * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSectionManager * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSectionManager * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSectionManager * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSectionManager * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSectionManager * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSectionManager * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSectionManager * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSectionManager * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadSectionManager * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadSection **pSection);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadSectionManager * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadSectionManager * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetLiveSection )( 
            IAcadSectionManager * This,
            /* [retval][out] */ IAcadSection **pSection);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetUniqueSectionName )( 
            IAcadSectionManager * This,
            /* [in] */ BSTR pBaseName,
            /* [retval][out] */ BSTR *ppUniqueName);
        
        END_INTERFACE
    } IAcadSectionManagerVtbl;

    interface IAcadSectionManager
    {
        CONST_VTBL struct IAcadSectionManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSectionManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSectionManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSectionManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSectionManager_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSectionManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSectionManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSectionManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSectionManager_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSectionManager_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSectionManager_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSectionManager_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSectionManager_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSectionManager_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSectionManager_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSectionManager_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSectionManager_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSectionManager_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSectionManager_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSectionManager_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSectionManager_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSectionManager_Item(This,Index,pSection)	\
    ( (This)->lpVtbl -> Item(This,Index,pSection) ) 

#define IAcadSectionManager_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadSectionManager_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadSectionManager_GetLiveSection(This,pSection)	\
    ( (This)->lpVtbl -> GetLiveSection(This,pSection) ) 

#define IAcadSectionManager_GetUniqueSectionName(This,pBaseName,ppUniqueName)	\
    ( (This)->lpVtbl -> GetUniqueSectionName(This,pBaseName,ppUniqueName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSectionManager_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSectionManager,0xC256FC4C,0x9832,0x44A7,0x88,0x65,0x03,0x1E,0x02,0x0D,0xE8,0xCE);

#ifdef __cplusplus

class DECLSPEC_UUID("C256FC4C-9832-44A7-8865-031E020DE8CE")
AcadSectionManager;
#endif

#ifndef __IAcadUnderlay_INTERFACE_DEFINED__
#define __IAcadUnderlay_INTERFACE_DEFINED__

/* interface IAcadUnderlay */
/* [unique][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadUnderlay,0x91AF9E8A,0xCADD,0x4DAD,0x92,0xD8,0xDC,0xAB,0x14,0xCE,0x65,0x2F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("91AF9E8A-CADD-4DAD-92D8-DCAB14CE652F")
    IAcadUnderlay : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Contrast( 
            /* [retval][out] */ long *contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Contrast( 
            /* [in] */ long contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fade( 
            /* [retval][out] */ long *fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fade( 
            /* [in] */ long fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ VARIANT *pos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ VARIANT pos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnderlayName( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnderlayName( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ItemName( 
            /* [in] */ BSTR sheetName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ItemName( 
            /* [retval][out] */ BSTR *sheetName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Monochrome( 
            /* [retval][out] */ VARIANT_BOOL *bMono) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Monochrome( 
            /* [in] */ VARIANT_BOOL bMono) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AdjustForBackground( 
            /* [retval][out] */ VARIANT_BOOL *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AdjustForBackground( 
            /* [in] */ VARIANT_BOOL value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ClipBoundary( 
            /* [in] */ VARIANT boundry) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS scaleFactor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_File( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_File( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnderlayVisibility( 
            /* [retval][out] */ VARIANT_BOOL *fVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnderlayVisibility( 
            /* [in] */ VARIANT_BOOL fVisible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ClippingEnabled( 
            /* [retval][out] */ VARIANT_BOOL *kClip) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ClippingEnabled( 
            /* [in] */ VARIANT_BOOL kClip) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnderlayLayerOverrideApplied( 
            /* [retval][out] */ AcUnderlayLayerOverrideType *bOverride) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnderlayLayerOverrideApplied( 
            /* [in] */ AcUnderlayLayerOverrideType bOverride) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadUnderlayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadUnderlay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadUnderlay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadUnderlay * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadUnderlay * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadUnderlay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadUnderlay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadUnderlay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadUnderlay * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadUnderlay * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadUnderlay * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadUnderlay * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadUnderlay * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadUnderlay * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadUnderlay * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadUnderlay * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadUnderlay * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadUnderlay * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadUnderlay * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadUnderlay * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadUnderlay * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadUnderlay * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadUnderlay * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadUnderlay * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadUnderlay * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadUnderlay * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadUnderlay * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadUnderlay * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadUnderlay * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadUnderlay * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadUnderlay * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadUnderlay * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            IAcadUnderlay * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            IAcadUnderlay * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fade )( 
            IAcadUnderlay * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fade )( 
            IAcadUnderlay * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT *pos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT pos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadUnderlay * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadUnderlay * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadUnderlay * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadUnderlay * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadUnderlay * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadUnderlay * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayName )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayName )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ItemName )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR sheetName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemName )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *sheetName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Monochrome )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bMono);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Monochrome )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL bMono);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdjustForBackground )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdjustForBackground )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClipBoundary )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT boundry);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadUnderlay * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadUnderlay * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IAcadUnderlay * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_File )( 
            IAcadUnderlay * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayVisibility )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *fVisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayVisibility )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL fVisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingEnabled )( 
            IAcadUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *kClip);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingEnabled )( 
            IAcadUnderlay * This,
            /* [in] */ VARIANT_BOOL kClip);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayLayerOverrideApplied )( 
            IAcadUnderlay * This,
            /* [retval][out] */ AcUnderlayLayerOverrideType *bOverride);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayLayerOverrideApplied )( 
            IAcadUnderlay * This,
            /* [in] */ AcUnderlayLayerOverrideType bOverride);
        
        END_INTERFACE
    } IAcadUnderlayVtbl;

    interface IAcadUnderlay
    {
        CONST_VTBL struct IAcadUnderlayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadUnderlay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadUnderlay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadUnderlay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadUnderlay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadUnderlay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadUnderlay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadUnderlay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadUnderlay_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadUnderlay_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadUnderlay_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadUnderlay_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadUnderlay_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadUnderlay_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadUnderlay_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadUnderlay_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadUnderlay_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadUnderlay_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadUnderlay_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadUnderlay_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadUnderlay_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadUnderlay_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadUnderlay_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadUnderlay_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadUnderlay_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadUnderlay_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadUnderlay_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadUnderlay_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadUnderlay_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadUnderlay_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadUnderlay_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadUnderlay_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadUnderlay_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadUnderlay_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadUnderlay_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadUnderlay_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadUnderlay_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadUnderlay_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadUnderlay_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadUnderlay_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadUnderlay_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadUnderlay_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadUnderlay_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadUnderlay_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadUnderlay_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadUnderlay_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadUnderlay_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadUnderlay_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadUnderlay_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadUnderlay_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadUnderlay_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadUnderlay_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadUnderlay_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadUnderlay_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadUnderlay_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadUnderlay_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadUnderlay_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadUnderlay_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadUnderlay_get_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,contrast) ) 

#define IAcadUnderlay_put_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,contrast) ) 

#define IAcadUnderlay_get_Fade(This,fade)	\
    ( (This)->lpVtbl -> get_Fade(This,fade) ) 

#define IAcadUnderlay_put_Fade(This,fade)	\
    ( (This)->lpVtbl -> put_Fade(This,fade) ) 

#define IAcadUnderlay_get_Position(This,pos)	\
    ( (This)->lpVtbl -> get_Position(This,pos) ) 

#define IAcadUnderlay_put_Position(This,pos)	\
    ( (This)->lpVtbl -> put_Position(This,pos) ) 

#define IAcadUnderlay_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadUnderlay_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadUnderlay_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadUnderlay_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadUnderlay_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadUnderlay_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadUnderlay_get_UnderlayName(This,Name)	\
    ( (This)->lpVtbl -> get_UnderlayName(This,Name) ) 

#define IAcadUnderlay_put_UnderlayName(This,Name)	\
    ( (This)->lpVtbl -> put_UnderlayName(This,Name) ) 

#define IAcadUnderlay_put_ItemName(This,sheetName)	\
    ( (This)->lpVtbl -> put_ItemName(This,sheetName) ) 

#define IAcadUnderlay_get_ItemName(This,sheetName)	\
    ( (This)->lpVtbl -> get_ItemName(This,sheetName) ) 

#define IAcadUnderlay_get_Monochrome(This,bMono)	\
    ( (This)->lpVtbl -> get_Monochrome(This,bMono) ) 

#define IAcadUnderlay_put_Monochrome(This,bMono)	\
    ( (This)->lpVtbl -> put_Monochrome(This,bMono) ) 

#define IAcadUnderlay_get_AdjustForBackground(This,value)	\
    ( (This)->lpVtbl -> get_AdjustForBackground(This,value) ) 

#define IAcadUnderlay_put_AdjustForBackground(This,value)	\
    ( (This)->lpVtbl -> put_AdjustForBackground(This,value) ) 

#define IAcadUnderlay_ClipBoundary(This,boundry)	\
    ( (This)->lpVtbl -> ClipBoundary(This,boundry) ) 

#define IAcadUnderlay_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define IAcadUnderlay_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 

#define IAcadUnderlay_get_File(This,Name)	\
    ( (This)->lpVtbl -> get_File(This,Name) ) 

#define IAcadUnderlay_put_File(This,Name)	\
    ( (This)->lpVtbl -> put_File(This,Name) ) 

#define IAcadUnderlay_get_UnderlayVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> get_UnderlayVisibility(This,fVisible) ) 

#define IAcadUnderlay_put_UnderlayVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> put_UnderlayVisibility(This,fVisible) ) 

#define IAcadUnderlay_get_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> get_ClippingEnabled(This,kClip) ) 

#define IAcadUnderlay_put_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> put_ClippingEnabled(This,kClip) ) 

#define IAcadUnderlay_get_UnderlayLayerOverrideApplied(This,bOverride)	\
    ( (This)->lpVtbl -> get_UnderlayLayerOverrideApplied(This,bOverride) ) 

#define IAcadUnderlay_put_UnderlayLayerOverrideApplied(This,bOverride)	\
    ( (This)->lpVtbl -> put_UnderlayLayerOverrideApplied(This,bOverride) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadUnderlay_INTERFACE_DEFINED__ */


#ifndef __IAcadDwfUnderlay_INTERFACE_DEFINED__
#define __IAcadDwfUnderlay_INTERFACE_DEFINED__

/* interface IAcadDwfUnderlay */
/* [unique][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDwfUnderlay,0xA39F2187,0x4B03,0x4EE5,0x8D,0x7A,0x10,0x71,0x47,0xCB,0xF5,0x3C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A39F2187-4B03-4EE5-8D7A-107147CBF53C")
    IAcadDwfUnderlay : public IAcadUnderlay
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DWFFormat( 
            /* [retval][out] */ BSTR *Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DWFFormat( 
            /* [in] */ BSTR Name) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDwfUnderlayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDwfUnderlay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDwfUnderlay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDwfUnderlay * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDwfUnderlay * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDwfUnderlay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDwfUnderlay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDwfUnderlay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDwfUnderlay * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDwfUnderlay * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDwfUnderlay * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDwfUnderlay * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDwfUnderlay * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDwfUnderlay * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDwfUnderlay * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDwfUnderlay * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDwfUnderlay * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDwfUnderlay * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDwfUnderlay * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            IAcadDwfUnderlay * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fade )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fade )( 
            IAcadDwfUnderlay * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT *pos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT pos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDwfUnderlay * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadDwfUnderlay * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadDwfUnderlay * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayName )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayName )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ItemName )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR sheetName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ItemName )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *sheetName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Monochrome )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *bMono);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Monochrome )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL bMono);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AdjustForBackground )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AdjustForBackground )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClipBoundary )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT boundry);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDwfUnderlay * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_File )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_File )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayVisibility )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *fVisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayVisibility )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL fVisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingEnabled )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ VARIANT_BOOL *kClip);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingEnabled )( 
            IAcadDwfUnderlay * This,
            /* [in] */ VARIANT_BOOL kClip);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnderlayLayerOverrideApplied )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ AcUnderlayLayerOverrideType *bOverride);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnderlayLayerOverrideApplied )( 
            IAcadDwfUnderlay * This,
            /* [in] */ AcUnderlayLayerOverrideType bOverride);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DWFFormat )( 
            IAcadDwfUnderlay * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DWFFormat )( 
            IAcadDwfUnderlay * This,
            /* [in] */ BSTR Name);
        
        END_INTERFACE
    } IAcadDwfUnderlayVtbl;

    interface IAcadDwfUnderlay
    {
        CONST_VTBL struct IAcadDwfUnderlayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDwfUnderlay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDwfUnderlay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDwfUnderlay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDwfUnderlay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDwfUnderlay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDwfUnderlay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDwfUnderlay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDwfUnderlay_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDwfUnderlay_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDwfUnderlay_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDwfUnderlay_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDwfUnderlay_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDwfUnderlay_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDwfUnderlay_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDwfUnderlay_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDwfUnderlay_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDwfUnderlay_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDwfUnderlay_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDwfUnderlay_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDwfUnderlay_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDwfUnderlay_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDwfUnderlay_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDwfUnderlay_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDwfUnderlay_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDwfUnderlay_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDwfUnderlay_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDwfUnderlay_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDwfUnderlay_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDwfUnderlay_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDwfUnderlay_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDwfUnderlay_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDwfUnderlay_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDwfUnderlay_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDwfUnderlay_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDwfUnderlay_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDwfUnderlay_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDwfUnderlay_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDwfUnderlay_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDwfUnderlay_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDwfUnderlay_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDwfUnderlay_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDwfUnderlay_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDwfUnderlay_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDwfUnderlay_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDwfUnderlay_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDwfUnderlay_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDwfUnderlay_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDwfUnderlay_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDwfUnderlay_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDwfUnderlay_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDwfUnderlay_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDwfUnderlay_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDwfUnderlay_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDwfUnderlay_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDwfUnderlay_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDwfUnderlay_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDwfUnderlay_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDwfUnderlay_get_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,contrast) ) 

#define IAcadDwfUnderlay_put_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,contrast) ) 

#define IAcadDwfUnderlay_get_Fade(This,fade)	\
    ( (This)->lpVtbl -> get_Fade(This,fade) ) 

#define IAcadDwfUnderlay_put_Fade(This,fade)	\
    ( (This)->lpVtbl -> put_Fade(This,fade) ) 

#define IAcadDwfUnderlay_get_Position(This,pos)	\
    ( (This)->lpVtbl -> get_Position(This,pos) ) 

#define IAcadDwfUnderlay_put_Position(This,pos)	\
    ( (This)->lpVtbl -> put_Position(This,pos) ) 

#define IAcadDwfUnderlay_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDwfUnderlay_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDwfUnderlay_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadDwfUnderlay_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadDwfUnderlay_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadDwfUnderlay_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadDwfUnderlay_get_UnderlayName(This,Name)	\
    ( (This)->lpVtbl -> get_UnderlayName(This,Name) ) 

#define IAcadDwfUnderlay_put_UnderlayName(This,Name)	\
    ( (This)->lpVtbl -> put_UnderlayName(This,Name) ) 

#define IAcadDwfUnderlay_put_ItemName(This,sheetName)	\
    ( (This)->lpVtbl -> put_ItemName(This,sheetName) ) 

#define IAcadDwfUnderlay_get_ItemName(This,sheetName)	\
    ( (This)->lpVtbl -> get_ItemName(This,sheetName) ) 

#define IAcadDwfUnderlay_get_Monochrome(This,bMono)	\
    ( (This)->lpVtbl -> get_Monochrome(This,bMono) ) 

#define IAcadDwfUnderlay_put_Monochrome(This,bMono)	\
    ( (This)->lpVtbl -> put_Monochrome(This,bMono) ) 

#define IAcadDwfUnderlay_get_AdjustForBackground(This,value)	\
    ( (This)->lpVtbl -> get_AdjustForBackground(This,value) ) 

#define IAcadDwfUnderlay_put_AdjustForBackground(This,value)	\
    ( (This)->lpVtbl -> put_AdjustForBackground(This,value) ) 

#define IAcadDwfUnderlay_ClipBoundary(This,boundry)	\
    ( (This)->lpVtbl -> ClipBoundary(This,boundry) ) 

#define IAcadDwfUnderlay_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define IAcadDwfUnderlay_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 

#define IAcadDwfUnderlay_get_File(This,Name)	\
    ( (This)->lpVtbl -> get_File(This,Name) ) 

#define IAcadDwfUnderlay_put_File(This,Name)	\
    ( (This)->lpVtbl -> put_File(This,Name) ) 

#define IAcadDwfUnderlay_get_UnderlayVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> get_UnderlayVisibility(This,fVisible) ) 

#define IAcadDwfUnderlay_put_UnderlayVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> put_UnderlayVisibility(This,fVisible) ) 

#define IAcadDwfUnderlay_get_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> get_ClippingEnabled(This,kClip) ) 

#define IAcadDwfUnderlay_put_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> put_ClippingEnabled(This,kClip) ) 

#define IAcadDwfUnderlay_get_UnderlayLayerOverrideApplied(This,bOverride)	\
    ( (This)->lpVtbl -> get_UnderlayLayerOverrideApplied(This,bOverride) ) 

#define IAcadDwfUnderlay_put_UnderlayLayerOverrideApplied(This,bOverride)	\
    ( (This)->lpVtbl -> put_UnderlayLayerOverrideApplied(This,bOverride) ) 


#define IAcadDwfUnderlay_get_DWFFormat(This,Name)	\
    ( (This)->lpVtbl -> get_DWFFormat(This,Name) ) 

#define IAcadDwfUnderlay_put_DWFFormat(This,Name)	\
    ( (This)->lpVtbl -> put_DWFFormat(This,Name) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDwfUnderlay_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDwfUnderlay,0x457B965C,0xE67F,0x43FB,0x94,0x91,0x69,0x16,0x2D,0xB6,0x2B,0xE0);

#ifdef __cplusplus

class DECLSPEC_UUID("457B965C-E67F-43FB-9491-69162DB62BE0")
AcadDwfUnderlay;
#endif

DEFINE_GUID(CLSID_AcadDgnUnderlay,0xAA71FEAF,0x2B65,0x457D,0x95,0x17,0xFC,0xAB,0x29,0x6F,0x98,0x5D);

#ifdef __cplusplus

class DECLSPEC_UUID("AA71FEAF-2B65-457D-9517-FCAB296F985D")
AcadDgnUnderlay;
#endif

DEFINE_GUID(CLSID_AcadPdfUnderlay,0x105AC7CF,0x74FE,0x4BFB,0x8F,0x87,0x12,0x42,0xC0,0x73,0x8F,0xB2);

#ifdef __cplusplus

class DECLSPEC_UUID("105AC7CF-74FE-4BFB-8F87-1242C0738FB2")
AcadPdfUnderlay;
#endif

DEFINE_GUID(CLSID_AcadSubEntity,0x3C718F35,0x4451,0x4C98,0xBA,0x74,0x62,0x52,0x64,0x4B,0xB9,0x54);

#ifdef __cplusplus

class DECLSPEC_UUID("3C718F35-4451-4C98-BA74-6252644BB954")
AcadSubEntity;
#endif

#ifndef __IAcadSubEntSolidFace_INTERFACE_DEFINED__
#define __IAcadSubEntSolidFace_INTERFACE_DEFINED__

/* interface IAcadSubEntSolidFace */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubEntSolidFace,0x836A416E,0xC235,0x4EE2,0x88,0x24,0x27,0xE6,0xB0,0xAA,0xFE,0xE1);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("836A416E-C235-4EE2-8824-27E6B0AAFEE1")
    IAcadSubEntSolidFace : public IAcadSubEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Material( 
            /* [retval][out] */ BSTR *Material) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Material( 
            /* [in] */ BSTR Material) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubEntSolidFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubEntSolidFace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubEntSolidFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubEntSolidFace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubEntSolidFace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubEntSolidFace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubEntSolidFace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubEntSolidFace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubEntSolidFace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubEntSolidFace * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSubEntSolidFace * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSubEntSolidFace * This,
            /* [in] */ BSTR Material);
        
        END_INTERFACE
    } IAcadSubEntSolidFaceVtbl;

    interface IAcadSubEntSolidFace
    {
        CONST_VTBL struct IAcadSubEntSolidFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubEntSolidFace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubEntSolidFace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubEntSolidFace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubEntSolidFace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubEntSolidFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubEntSolidFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubEntSolidFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubEntSolidFace_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubEntSolidFace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubEntSolidFace_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubEntSolidFace_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubEntSolidFace_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubEntSolidFace_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubEntSolidFace_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubEntSolidFace_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubEntSolidFace_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubEntSolidFace_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#define IAcadSubEntSolidFace_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSubEntSolidFace_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubEntSolidFace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubEntSolidFace,0x1E8B3FB0,0xE02F,0x4304,0x82,0xE4,0x0D,0x96,0xD0,0x4F,0x6E,0x2F);

#ifdef __cplusplus

class DECLSPEC_UUID("1E8B3FB0-E02F-4304-82E4-0D96D04F6E2F")
AcadSubEntSolidFace;
#endif

#ifndef __IAcadSubEntSolidEdge_INTERFACE_DEFINED__
#define __IAcadSubEntSolidEdge_INTERFACE_DEFINED__

/* interface IAcadSubEntSolidEdge */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubEntSolidEdge,0xEBE7F461,0xEDA5,0x4658,0x89,0xB0,0xEC,0xAD,0x7A,0xE6,0x82,0x21);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EBE7F461-EDA5-4658-89B0-ECAD7AE68221")
    IAcadSubEntSolidEdge : public IAcadSubEntity
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubEntSolidEdgeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubEntSolidEdge * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubEntSolidEdge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubEntSolidEdge * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubEntSolidEdge * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubEntSolidEdge * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubEntSolidEdge * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubEntSolidEdge * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubEntSolidEdge * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubEntSolidEdge * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubEntSolidEdge * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        END_INTERFACE
    } IAcadSubEntSolidEdgeVtbl;

    interface IAcadSubEntSolidEdge
    {
        CONST_VTBL struct IAcadSubEntSolidEdgeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubEntSolidEdge_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubEntSolidEdge_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubEntSolidEdge_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubEntSolidEdge_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubEntSolidEdge_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubEntSolidEdge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubEntSolidEdge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubEntSolidEdge_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubEntSolidEdge_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubEntSolidEdge_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubEntSolidEdge_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubEntSolidEdge_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubEntSolidEdge_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubEntSolidEdge_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubEntSolidEdge_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubEntSolidEdge_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubEntSolidEdge_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubEntSolidEdge_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubEntSolidEdge,0xBEEC1AC5,0x4909,0x4F82,0x9C,0xFE,0x1D,0xF2,0xE8,0xFF,0xA7,0xAE);

#ifdef __cplusplus

class DECLSPEC_UUID("BEEC1AC5-4909-4F82-9CFE-1DF2E8FFA7AE")
AcadSubEntSolidEdge;
#endif

#ifndef __IAcadSubEntSolidVertex_INTERFACE_DEFINED__
#define __IAcadSubEntSolidVertex_INTERFACE_DEFINED__

/* interface IAcadSubEntSolidVertex */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubEntSolidVertex,0x9CEDEBE2,0x1811,0x467A,0x8E,0x88,0xDF,0x80,0xC4,0x66,0x40,0x45);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9CEDEBE2-1811-467A-8E88-DF80C4664045")
    IAcadSubEntSolidVertex : public IAcadSubEntity
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubEntSolidVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubEntSolidVertex * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubEntSolidVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubEntSolidVertex * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubEntSolidVertex * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubEntSolidVertex * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubEntSolidVertex * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubEntSolidVertex * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubEntSolidVertex * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubEntSolidVertex * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubEntSolidVertex * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        END_INTERFACE
    } IAcadSubEntSolidVertexVtbl;

    interface IAcadSubEntSolidVertex
    {
        CONST_VTBL struct IAcadSubEntSolidVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubEntSolidVertex_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubEntSolidVertex_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubEntSolidVertex_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubEntSolidVertex_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubEntSolidVertex_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubEntSolidVertex_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubEntSolidVertex_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubEntSolidVertex_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubEntSolidVertex_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubEntSolidVertex_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubEntSolidVertex_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubEntSolidVertex_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubEntSolidVertex_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubEntSolidVertex_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubEntSolidVertex_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubEntSolidVertex_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubEntSolidVertex_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubEntSolidVertex_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubEntSolidVertex,0x15E2281D,0x71EE,0x4433,0xBE,0xA2,0x73,0xAF,0xC5,0xAE,0xF9,0xAF);

#ifdef __cplusplus

class DECLSPEC_UUID("15E2281D-71EE-4433-BEA2-73AFC5AEF9AF")
AcadSubEntSolidVertex;
#endif

#ifndef __IAcadSubEntSolidNode_INTERFACE_DEFINED__
#define __IAcadSubEntSolidNode_INTERFACE_DEFINED__

/* interface IAcadSubEntSolidNode */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubEntSolidNode,0x4FD4244B,0x9796,0x4B62,0x9A,0x55,0xDE,0xB4,0x36,0x02,0x7C,0x38);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4FD4244B-9796-4B62-9A55-DEB436027C38")
    IAcadSubEntSolidNode : public IAcadSubEntity
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubEntSolidNodeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubEntSolidNode * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubEntSolidNode * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubEntSolidNode * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubEntSolidNode * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubEntSolidNode * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubEntSolidNode * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubEntSolidNode * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubEntSolidNode * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubEntSolidNode * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubEntSolidNode * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        END_INTERFACE
    } IAcadSubEntSolidNodeVtbl;

    interface IAcadSubEntSolidNode
    {
        CONST_VTBL struct IAcadSubEntSolidNodeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubEntSolidNode_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubEntSolidNode_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubEntSolidNode_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubEntSolidNode_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubEntSolidNode_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubEntSolidNode_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubEntSolidNode_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubEntSolidNode_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubEntSolidNode_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubEntSolidNode_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubEntSolidNode_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubEntSolidNode_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubEntSolidNode_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubEntSolidNode_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubEntSolidNode_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubEntSolidNode_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubEntSolidNode_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubEntSolidNode_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubEntSolidNode,0xB476ECE6,0x6F7E,0x4CBC,0xAB,0x02,0x71,0x41,0xF6,0xB0,0x56,0x9A);

#ifdef __cplusplus

class DECLSPEC_UUID("B476ECE6-6F7E-4CBC-AB02-7141F6B0569A")
AcadSubEntSolidNode;
#endif

#ifndef __IAcadWipeout_INTERFACE_DEFINED__
#define __IAcadWipeout_INTERFACE_DEFINED__

/* interface IAcadWipeout */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadWipeout,0xE48FD8A6,0x6B8E,0x4372,0x9C,0x3E,0xEA,0xB3,0xEF,0x98,0x98,0x3D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E48FD8A6-6B8E-4372-9C3E-EAB3EF98983D")
    IAcadWipeout : public IAcadRasterImage
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadWipeoutVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadWipeout * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadWipeout * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadWipeout * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadWipeout * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadWipeout * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadWipeout * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadWipeout * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadWipeout * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadWipeout * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadWipeout * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadWipeout * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadWipeout * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadWipeout * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadWipeout * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadWipeout * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadWipeout * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadWipeout * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadWipeout * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadWipeout * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadWipeout * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadWipeout * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadWipeout * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadWipeout * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadWipeout * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadWipeout * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadWipeout * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadWipeout * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadWipeout * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadWipeout * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadWipeout * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadWipeout * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadWipeout * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadWipeout * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadWipeout * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadWipeout * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadWipeout * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadWipeout * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Brightness )( 
            IAcadWipeout * This,
            /* [retval][out] */ long *brightness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Brightness )( 
            IAcadWipeout * This,
            /* [in] */ long brightness);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            IAcadWipeout * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            IAcadWipeout * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fade )( 
            IAcadWipeout * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fade )( 
            IAcadWipeout * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT Origin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadWipeout * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadWipeout * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageWidth )( 
            IAcadWipeout * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageWidth )( 
            IAcadWipeout * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageHeight )( 
            IAcadWipeout * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageHeight )( 
            IAcadWipeout * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadWipeout * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageFile )( 
            IAcadWipeout * This,
            /* [in] */ BSTR imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageFile )( 
            IAcadWipeout * This,
            /* [retval][out] */ BSTR *imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageVisibility )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *fVisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageVisibility )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL fVisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingEnabled )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *kClip);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingEnabled )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL kClip);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *bTransp);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL bTransp);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClipBoundary )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT boundry);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadWipeout * This,
            /* [retval][out] */ double *pixelHeight);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadWipeout * This,
            /* [retval][out] */ double *pixelWidth);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRotation )( 
            IAcadWipeout * This,
            /* [retval][out] */ VARIANT_BOOL *bShow);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowRotation )( 
            IAcadWipeout * This,
            /* [in] */ VARIANT_BOOL bShow);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadWipeout * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadWipeout * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        END_INTERFACE
    } IAcadWipeoutVtbl;

    interface IAcadWipeout
    {
        CONST_VTBL struct IAcadWipeoutVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadWipeout_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadWipeout_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadWipeout_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadWipeout_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadWipeout_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadWipeout_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadWipeout_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadWipeout_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadWipeout_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadWipeout_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadWipeout_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadWipeout_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadWipeout_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadWipeout_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadWipeout_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadWipeout_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadWipeout_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadWipeout_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadWipeout_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadWipeout_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadWipeout_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadWipeout_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadWipeout_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadWipeout_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadWipeout_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadWipeout_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadWipeout_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadWipeout_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadWipeout_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadWipeout_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadWipeout_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadWipeout_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadWipeout_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadWipeout_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadWipeout_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadWipeout_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadWipeout_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadWipeout_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadWipeout_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadWipeout_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadWipeout_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadWipeout_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadWipeout_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadWipeout_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadWipeout_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadWipeout_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadWipeout_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadWipeout_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadWipeout_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadWipeout_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadWipeout_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadWipeout_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadWipeout_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadWipeout_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadWipeout_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadWipeout_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadWipeout_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadWipeout_get_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> get_Brightness(This,brightness) ) 

#define IAcadWipeout_put_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> put_Brightness(This,brightness) ) 

#define IAcadWipeout_get_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,contrast) ) 

#define IAcadWipeout_put_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,contrast) ) 

#define IAcadWipeout_get_Fade(This,fade)	\
    ( (This)->lpVtbl -> get_Fade(This,fade) ) 

#define IAcadWipeout_put_Fade(This,fade)	\
    ( (This)->lpVtbl -> put_Fade(This,fade) ) 

#define IAcadWipeout_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadWipeout_put_Origin(This,Origin)	\
    ( (This)->lpVtbl -> put_Origin(This,Origin) ) 

#define IAcadWipeout_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadWipeout_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadWipeout_get_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> get_ImageWidth(This,width) ) 

#define IAcadWipeout_put_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> put_ImageWidth(This,width) ) 

#define IAcadWipeout_get_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> get_ImageHeight(This,height) ) 

#define IAcadWipeout_put_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> put_ImageHeight(This,height) ) 

#define IAcadWipeout_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define IAcadWipeout_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define IAcadWipeout_put_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> put_ImageFile(This,imageFileName) ) 

#define IAcadWipeout_get_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> get_ImageFile(This,imageFileName) ) 

#define IAcadWipeout_get_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> get_ImageVisibility(This,fVisible) ) 

#define IAcadWipeout_put_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> put_ImageVisibility(This,fVisible) ) 

#define IAcadWipeout_get_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> get_ClippingEnabled(This,kClip) ) 

#define IAcadWipeout_put_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> put_ClippingEnabled(This,kClip) ) 

#define IAcadWipeout_get_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> get_Transparency(This,bTransp) ) 

#define IAcadWipeout_put_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> put_Transparency(This,bTransp) ) 

#define IAcadWipeout_ClipBoundary(This,boundry)	\
    ( (This)->lpVtbl -> ClipBoundary(This,boundry) ) 

#define IAcadWipeout_get_Height(This,pixelHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pixelHeight) ) 

#define IAcadWipeout_get_Width(This,pixelWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pixelWidth) ) 

#define IAcadWipeout_get_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> get_ShowRotation(This,bShow) ) 

#define IAcadWipeout_put_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> put_ShowRotation(This,bShow) ) 

#define IAcadWipeout_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define IAcadWipeout_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadWipeout_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadWipeout,0xE17A0618,0x1D8B,0x418D,0x87,0xFF,0x97,0xD6,0x63,0x67,0xBD,0xF4);

#ifdef __cplusplus

class DECLSPEC_UUID("E17A0618-1D8B-418D-87FF-97D66367BDF4")
AcadWipeout;
#endif

#ifndef __IAcadSubDMesh_INTERFACE_DEFINED__
#define __IAcadSubDMesh_INTERFACE_DEFINED__

/* interface IAcadSubDMesh */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubDMesh,0x46532172,0xADCD,0x44A4,0xB9,0xCC,0xDC,0x6C,0x4A,0x22,0xF0,0x26);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("46532172-ADCD-44A4-B9CC-DC6C4A22F026")
    IAcadSubDMesh : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Smoothness( 
            /* [retval][out] */ int *level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Smoothness( 
            /* [in] */ int level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT corners) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinate( 
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinate( 
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VertexCount( 
            /* [retval][out] */ int *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FaceCount( 
            /* [retval][out] */ int *count) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubDMeshVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubDMesh * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubDMesh * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubDMesh * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubDMesh * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubDMesh * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubDMesh * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubDMesh * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSubDMesh * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSubDMesh * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadSubDMesh * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadSubDMesh * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadSubDMesh * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadSubDMesh * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSubDMesh * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadSubDMesh * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadSubDMesh * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadSubDMesh * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSubDMesh * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubDMesh * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Smoothness )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ int *level);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Smoothness )( 
            IAcadSubDMesh * This,
            /* [in] */ int level);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ VARIANT *corners);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadSubDMesh * This,
            /* [in] */ VARIANT corners);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinate )( 
            IAcadSubDMesh * This,
            /* [in] */ int Index,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinate )( 
            IAcadSubDMesh * This,
            /* [in] */ int Index,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VertexCount )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ int *count);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FaceCount )( 
            IAcadSubDMesh * This,
            /* [retval][out] */ int *count);
        
        END_INTERFACE
    } IAcadSubDMeshVtbl;

    interface IAcadSubDMesh
    {
        CONST_VTBL struct IAcadSubDMeshVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubDMesh_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubDMesh_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubDMesh_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubDMesh_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubDMesh_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubDMesh_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubDMesh_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubDMesh_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadSubDMesh_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubDMesh_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadSubDMesh_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadSubDMesh_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadSubDMesh_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadSubDMesh_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadSubDMesh_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadSubDMesh_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadSubDMesh_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadSubDMesh_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadSubDMesh_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadSubDMesh_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadSubDMesh_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadSubDMesh_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadSubDMesh_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubDMesh_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadSubDMesh_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubDMesh_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadSubDMesh_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubDMesh_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadSubDMesh_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadSubDMesh_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadSubDMesh_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadSubDMesh_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadSubDMesh_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadSubDMesh_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadSubDMesh_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadSubDMesh_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadSubDMesh_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadSubDMesh_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadSubDMesh_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadSubDMesh_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadSubDMesh_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadSubDMesh_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSubDMesh_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadSubDMesh_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadSubDMesh_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubDMesh_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadSubDMesh_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubDMesh_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadSubDMesh_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadSubDMesh_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadSubDMesh_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadSubDMesh_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSubDMesh_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSubDMesh_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadSubDMesh_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadSubDMesh_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadSubDMesh_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadSubDMesh_get_Smoothness(This,level)	\
    ( (This)->lpVtbl -> get_Smoothness(This,level) ) 

#define IAcadSubDMesh_put_Smoothness(This,level)	\
    ( (This)->lpVtbl -> put_Smoothness(This,level) ) 

#define IAcadSubDMesh_get_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> get_Coordinates(This,corners) ) 

#define IAcadSubDMesh_put_Coordinates(This,corners)	\
    ( (This)->lpVtbl -> put_Coordinates(This,corners) ) 

#define IAcadSubDMesh_get_Coordinate(This,Index,pVal)	\
    ( (This)->lpVtbl -> get_Coordinate(This,Index,pVal) ) 

#define IAcadSubDMesh_put_Coordinate(This,Index,newVal)	\
    ( (This)->lpVtbl -> put_Coordinate(This,Index,newVal) ) 

#define IAcadSubDMesh_get_VertexCount(This,count)	\
    ( (This)->lpVtbl -> get_VertexCount(This,count) ) 

#define IAcadSubDMesh_get_FaceCount(This,count)	\
    ( (This)->lpVtbl -> get_FaceCount(This,count) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubDMesh_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubDMesh,0x3DADC568,0x3017,0x4289,0xA7,0x0A,0x5C,0xA0,0x39,0xF6,0x69,0xAD);

#ifdef __cplusplus

class DECLSPEC_UUID("3DADC568-3017-4289-A70A-5CA039F669AD")
AcadSubDMesh;
#endif

#ifndef __IAcadSubDMeshFace_INTERFACE_DEFINED__
#define __IAcadSubDMeshFace_INTERFACE_DEFINED__

/* interface IAcadSubDMeshFace */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubDMeshFace,0x9A7D1FA2,0x3F67,0x48FD,0x86,0x20,0xF0,0x29,0xFE,0xDF,0x78,0xA8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9A7D1FA2-3F67-48FD-8620-F029FEDF78A8")
    IAcadSubDMeshFace : public IAcadSubEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Material( 
            /* [retval][out] */ BSTR *Material) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Material( 
            /* [in] */ BSTR Material) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseType( 
            /* [retval][out] */ AcMeshCreaseType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseType( 
            /* [in] */ AcMeshCreaseType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseLevel( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseLevel( 
            /* [in] */ double level) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubDMeshFaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubDMeshFace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubDMeshFace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubDMeshFace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubDMeshFace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubDMeshFace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubDMeshFace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubDMeshFace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubDMeshFace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubDMeshFace * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadSubDMeshFace * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseType )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ AcMeshCreaseType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseType )( 
            IAcadSubDMeshFace * This,
            /* [in] */ AcMeshCreaseType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseLevel )( 
            IAcadSubDMeshFace * This,
            /* [retval][out] */ double *level);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseLevel )( 
            IAcadSubDMeshFace * This,
            /* [in] */ double level);
        
        END_INTERFACE
    } IAcadSubDMeshFaceVtbl;

    interface IAcadSubDMeshFace
    {
        CONST_VTBL struct IAcadSubDMeshFaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubDMeshFace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubDMeshFace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubDMeshFace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubDMeshFace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubDMeshFace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubDMeshFace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubDMeshFace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubDMeshFace_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubDMeshFace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubDMeshFace_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubDMeshFace_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubDMeshFace_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubDMeshFace_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubDMeshFace_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubDMeshFace_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubDMeshFace_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubDMeshFace_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#define IAcadSubDMeshFace_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadSubDMeshFace_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadSubDMeshFace_get_CreaseType(This,type)	\
    ( (This)->lpVtbl -> get_CreaseType(This,type) ) 

#define IAcadSubDMeshFace_put_CreaseType(This,type)	\
    ( (This)->lpVtbl -> put_CreaseType(This,type) ) 

#define IAcadSubDMeshFace_get_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> get_CreaseLevel(This,level) ) 

#define IAcadSubDMeshFace_put_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> put_CreaseLevel(This,level) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubDMeshFace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubDMeshFace,0xCC617083,0xACCE,0x42DC,0xAA,0x9A,0x80,0xC6,0xDA,0x55,0x82,0x7A);

#ifdef __cplusplus

class DECLSPEC_UUID("CC617083-ACCE-42DC-AA9A-80C6DA55827A")
AcadSubDMeshFace;
#endif

#ifndef __IAcadSubDMeshEdge_INTERFACE_DEFINED__
#define __IAcadSubDMeshEdge_INTERFACE_DEFINED__

/* interface IAcadSubDMeshEdge */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubDMeshEdge,0x363D48B9,0xF592,0x4EDF,0x95,0xAE,0x54,0x71,0xD9,0xF4,0xE2,0x65);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("363D48B9-F592-4EDF-95AE-5471D9F4E265")
    IAcadSubDMeshEdge : public IAcadSubEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseType( 
            /* [retval][out] */ AcMeshCreaseType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseType( 
            /* [in] */ AcMeshCreaseType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseLevel( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseLevel( 
            /* [in] */ double level) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubDMeshEdgeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubDMeshEdge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubDMeshEdge * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubDMeshEdge * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubDMeshEdge * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubDMeshEdge * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseType )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ AcMeshCreaseType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseType )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ AcMeshCreaseType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseLevel )( 
            IAcadSubDMeshEdge * This,
            /* [retval][out] */ double *level);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseLevel )( 
            IAcadSubDMeshEdge * This,
            /* [in] */ double level);
        
        END_INTERFACE
    } IAcadSubDMeshEdgeVtbl;

    interface IAcadSubDMeshEdge
    {
        CONST_VTBL struct IAcadSubDMeshEdgeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubDMeshEdge_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubDMeshEdge_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubDMeshEdge_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubDMeshEdge_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubDMeshEdge_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubDMeshEdge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubDMeshEdge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubDMeshEdge_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubDMeshEdge_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubDMeshEdge_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubDMeshEdge_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubDMeshEdge_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubDMeshEdge_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubDMeshEdge_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubDMeshEdge_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubDMeshEdge_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubDMeshEdge_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#define IAcadSubDMeshEdge_get_CreaseType(This,type)	\
    ( (This)->lpVtbl -> get_CreaseType(This,type) ) 

#define IAcadSubDMeshEdge_put_CreaseType(This,type)	\
    ( (This)->lpVtbl -> put_CreaseType(This,type) ) 

#define IAcadSubDMeshEdge_get_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> get_CreaseLevel(This,level) ) 

#define IAcadSubDMeshEdge_put_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> put_CreaseLevel(This,level) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubDMeshEdge_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubDMeshEdge,0x6C88198B,0x23A8,0x4266,0x92,0xC1,0x86,0x21,0x76,0xB6,0xF9,0x92);

#ifdef __cplusplus

class DECLSPEC_UUID("6C88198B-23A8-4266-92C1-862176B6F992")
AcadSubDMeshEdge;
#endif

#ifndef __IAcadSubDMeshVertex_INTERFACE_DEFINED__
#define __IAcadSubDMeshVertex_INTERFACE_DEFINED__

/* interface IAcadSubDMeshVertex */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSubDMeshVertex,0xFD23B021,0x2A2F,0x409A,0x90,0x75,0x48,0x0A,0x88,0xDA,0xA5,0x81);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FD23B021-2A2F-409A-9075-480A88DAA581")
    IAcadSubDMeshVertex : public IAcadSubEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Coordinates( 
            /* [retval][out] */ VARIANT *coord) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Coordinates( 
            /* [in] */ VARIANT coord) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseType( 
            /* [retval][out] */ AcMeshCreaseType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseType( 
            /* [in] */ AcMeshCreaseType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CreaseLevel( 
            /* [retval][out] */ double *level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CreaseLevel( 
            /* [in] */ double level) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSubDMeshVertexVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSubDMeshVertex * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSubDMeshVertex * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSubDMeshVertex * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSubDMeshVertex * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [nonbrowsable][id] */ HRESULT ( STDMETHODCALLTYPE *OnModified )( 
            IAcadSubDMeshVertex * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Coordinates )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ VARIANT *coord);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Coordinates )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ VARIANT coord);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseType )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ AcMeshCreaseType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseType )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ AcMeshCreaseType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreaseLevel )( 
            IAcadSubDMeshVertex * This,
            /* [retval][out] */ double *level);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreaseLevel )( 
            IAcadSubDMeshVertex * This,
            /* [in] */ double level);
        
        END_INTERFACE
    } IAcadSubDMeshVertexVtbl;

    interface IAcadSubDMeshVertex
    {
        CONST_VTBL struct IAcadSubDMeshVertexVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSubDMeshVertex_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSubDMeshVertex_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSubDMeshVertex_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSubDMeshVertex_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSubDMeshVertex_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSubDMeshVertex_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSubDMeshVertex_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSubDMeshVertex_OnModified(This)	\
    ( (This)->lpVtbl -> OnModified(This) ) 

#define IAcadSubDMeshVertex_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadSubDMeshVertex_get_Color(This,pColor)	\
    ( (This)->lpVtbl -> get_Color(This,pColor) ) 

#define IAcadSubDMeshVertex_put_Color(This,pColor)	\
    ( (This)->lpVtbl -> put_Color(This,pColor) ) 

#define IAcadSubDMeshVertex_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadSubDMeshVertex_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadSubDMeshVertex_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadSubDMeshVertex_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadSubDMeshVertex_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadSubDMeshVertex_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 


#define IAcadSubDMeshVertex_get_Coordinates(This,coord)	\
    ( (This)->lpVtbl -> get_Coordinates(This,coord) ) 

#define IAcadSubDMeshVertex_put_Coordinates(This,coord)	\
    ( (This)->lpVtbl -> put_Coordinates(This,coord) ) 

#define IAcadSubDMeshVertex_get_CreaseType(This,type)	\
    ( (This)->lpVtbl -> get_CreaseType(This,type) ) 

#define IAcadSubDMeshVertex_put_CreaseType(This,type)	\
    ( (This)->lpVtbl -> put_CreaseType(This,type) ) 

#define IAcadSubDMeshVertex_get_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> get_CreaseLevel(This,level) ) 

#define IAcadSubDMeshVertex_put_CreaseLevel(This,level)	\
    ( (This)->lpVtbl -> put_CreaseLevel(This,level) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSubDMeshVertex_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSubDMeshVertex,0x9E78597D,0x7A65,0x4AD3,0x92,0xA4,0x4A,0xFB,0x0C,0xD6,0x21,0x8C);

#ifdef __cplusplus

class DECLSPEC_UUID("9E78597D-7A65-4AD3-92A4-4AFB0CD6218C")
AcadSubDMeshVertex;
#endif

#ifndef __IAcadNurbSurface_INTERFACE_DEFINED__
#define __IAcadNurbSurface_INTERFACE_DEFINED__

/* interface IAcadNurbSurface */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadNurbSurface,0x5B8F2231,0x11F4,0x403F,0x91,0xC6,0xC2,0xAE,0xC1,0xAD,0x8C,0x79);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("5B8F2231-11F4-403F-91C6-C2AEC1AD8C79")
    IAcadNurbSurface : public IAcadSurface
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CvHullDisplay( 
            /* [retval][out] */ VARIANT_BOOL *display) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CvHullDisplay( 
            /* [in] */ VARIANT_BOOL display) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadNurbSurfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadNurbSurface * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadNurbSurface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadNurbSurface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadNurbSurface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadNurbSurface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadNurbSurface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadNurbSurface * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadNurbSurface * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadNurbSurface * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadNurbSurface * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadNurbSurface * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadNurbSurface * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadNurbSurface * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadNurbSurface * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadNurbSurface * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadNurbSurface * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadNurbSurface * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadNurbSurface * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadNurbSurface * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfaceType )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ BSTR *surfaceType);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UIsolineDensity )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UIsolineDensity )( 
            IAcadNurbSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VIsolineDensity )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ long *density);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VIsolineDensity )( 
            IAcadNurbSurface * This,
            /* [in] */ long density);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WireframeType )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ AcWireframeType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WireframeType )( 
            IAcadNurbSurface * This,
            /* [in] */ AcWireframeType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaintainAssociativity )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ int *maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaintainAssociativity )( 
            IAcadNurbSurface * This,
            /* [in] */ int maintainAssoc);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowAssociativity )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT_BOOL *bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowAssociativity )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT_BOOL bEnabled);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EdgeExtensionDistances )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT *extDistances);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EdgeExtensionDistances )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT extDistances);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SurfTrimAssociativity )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT *associative);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SurfTrimAssociativity )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT associative);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CvHullDisplay )( 
            IAcadNurbSurface * This,
            /* [retval][out] */ VARIANT_BOOL *display);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CvHullDisplay )( 
            IAcadNurbSurface * This,
            /* [in] */ VARIANT_BOOL display);
        
        END_INTERFACE
    } IAcadNurbSurfaceVtbl;

    interface IAcadNurbSurface
    {
        CONST_VTBL struct IAcadNurbSurfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadNurbSurface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadNurbSurface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadNurbSurface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadNurbSurface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadNurbSurface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadNurbSurface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadNurbSurface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadNurbSurface_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadNurbSurface_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadNurbSurface_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadNurbSurface_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadNurbSurface_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadNurbSurface_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadNurbSurface_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadNurbSurface_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadNurbSurface_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadNurbSurface_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadNurbSurface_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadNurbSurface_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadNurbSurface_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadNurbSurface_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadNurbSurface_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadNurbSurface_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadNurbSurface_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadNurbSurface_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadNurbSurface_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadNurbSurface_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadNurbSurface_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadNurbSurface_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadNurbSurface_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadNurbSurface_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadNurbSurface_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadNurbSurface_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadNurbSurface_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadNurbSurface_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadNurbSurface_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadNurbSurface_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadNurbSurface_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadNurbSurface_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadNurbSurface_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadNurbSurface_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadNurbSurface_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadNurbSurface_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadNurbSurface_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadNurbSurface_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadNurbSurface_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadNurbSurface_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadNurbSurface_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadNurbSurface_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadNurbSurface_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadNurbSurface_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadNurbSurface_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadNurbSurface_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadNurbSurface_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadNurbSurface_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadNurbSurface_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadNurbSurface_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadNurbSurface_get_SurfaceType(This,surfaceType)	\
    ( (This)->lpVtbl -> get_SurfaceType(This,surfaceType) ) 

#define IAcadNurbSurface_get_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_UIsolineDensity(This,density) ) 

#define IAcadNurbSurface_put_UIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_UIsolineDensity(This,density) ) 

#define IAcadNurbSurface_get_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> get_VIsolineDensity(This,density) ) 

#define IAcadNurbSurface_put_VIsolineDensity(This,density)	\
    ( (This)->lpVtbl -> put_VIsolineDensity(This,density) ) 

#define IAcadNurbSurface_get_WireframeType(This,type)	\
    ( (This)->lpVtbl -> get_WireframeType(This,type) ) 

#define IAcadNurbSurface_put_WireframeType(This,type)	\
    ( (This)->lpVtbl -> put_WireframeType(This,type) ) 

#define IAcadNurbSurface_get_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> get_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadNurbSurface_put_MaintainAssociativity(This,maintainAssoc)	\
    ( (This)->lpVtbl -> put_MaintainAssociativity(This,maintainAssoc) ) 

#define IAcadNurbSurface_get_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> get_ShowAssociativity(This,bEnabled) ) 

#define IAcadNurbSurface_put_ShowAssociativity(This,bEnabled)	\
    ( (This)->lpVtbl -> put_ShowAssociativity(This,bEnabled) ) 

#define IAcadNurbSurface_get_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> get_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadNurbSurface_put_EdgeExtensionDistances(This,extDistances)	\
    ( (This)->lpVtbl -> put_EdgeExtensionDistances(This,extDistances) ) 

#define IAcadNurbSurface_get_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> get_SurfTrimAssociativity(This,associative) ) 

#define IAcadNurbSurface_put_SurfTrimAssociativity(This,associative)	\
    ( (This)->lpVtbl -> put_SurfTrimAssociativity(This,associative) ) 


#define IAcadNurbSurface_get_CvHullDisplay(This,display)	\
    ( (This)->lpVtbl -> get_CvHullDisplay(This,display) ) 

#define IAcadNurbSurface_put_CvHullDisplay(This,display)	\
    ( (This)->lpVtbl -> put_CvHullDisplay(This,display) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadNurbSurface_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadNurbSurface,0xC314D4C3,0x41B5,0x4175,0xAC,0x0D,0xCD,0x56,0x06,0x69,0x0F,0xDB);

#ifdef __cplusplus

class DECLSPEC_UUID("C314D4C3-41B5-4175-AC0D-CD5606690FDB")
AcadNurbSurface;
#endif

#ifndef __IAcadGeoPositionMarker_INTERFACE_DEFINED__
#define __IAcadGeoPositionMarker_INTERFACE_DEFINED__

/* interface IAcadGeoPositionMarker */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadGeoPositionMarker,0x0CA883E6,0xDAC8,0x4382,0x9F,0xC6,0x3D,0xE8,0xA9,0x2B,0xF6,0x02);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0CA883E6-DAC8-4382-9FC6-3DE8A92BF602")
    IAcadGeoPositionMarker : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Position( 
            /* [retval][out] */ VARIANT *position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Position( 
            /* [in] */ VARIANT position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextString( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextString( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextStyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextJustify( 
            /* [retval][out] */ AcAttachmentPoint *attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextJustify( 
            /* [in] */ AcAttachmentPoint attPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DrawingDirection( 
            /* [retval][out] */ AcDrawingDirection *drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DrawingDirection( 
            /* [in] */ AcDrawingDirection drawDir) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextWidth( 
            /* [in] */ double width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingFactor( 
            /* [retval][out] */ double *Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingFactor( 
            /* [in] */ double Factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingDistance( 
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingDistance( 
            /* [in] */ double Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineSpacingStyle( 
            /* [retval][out] */ AcLineSpacingStyle *Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineSpacingStyle( 
            /* [in] */ AcLineSpacingStyle Style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_BackgroundFill( 
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_BackgroundFill( 
            /* [in] */ VARIANT_BOOL bUseBackgroundFill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LandingGap( 
            /* [retval][out] */ double *gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LandingGap( 
            /* [in] */ double gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Radius( 
            /* [retval][out] */ double *gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Radius( 
            /* [in] */ double gap) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextFrameDisplay( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextFrameDisplay( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Latitude( 
            /* [retval][out] */ BSTR *latitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Latitude( 
            /* [in] */ BSTR latitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Longitude( 
            /* [retval][out] */ BSTR *longitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Longitude( 
            /* [in] */ BSTR longitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Altitude( 
            /* [retval][out] */ double *altitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Altitude( 
            /* [in] */ double altitude) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Notes( 
            /* [retval][out] */ BSTR *notes) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Notes( 
            /* [in] */ BSTR notes) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadGeoPositionMarkerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadGeoPositionMarker * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadGeoPositionMarker * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadGeoPositionMarker * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadGeoPositionMarker * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadGeoPositionMarker * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadGeoPositionMarker * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadGeoPositionMarker * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadGeoPositionMarker * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Position )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ VARIANT *position);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Position )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT position);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextString )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextString )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyleName )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyleName )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextJustify )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ AcAttachmentPoint *attPoint);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextJustify )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ AcAttachmentPoint attPoint);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DrawingDirection )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ AcDrawingDirection *drawDir);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DrawingDirection )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ AcDrawingDirection drawDir);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextWidth )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextWidth )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingFactor )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *Factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingFactor )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double Factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingDistance )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingDistance )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double Value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineSpacingStyle )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ AcLineSpacingStyle *Style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineSpacingStyle )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ AcLineSpacingStyle Style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundFill )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ VARIANT_BOOL *bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundFill )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT_BOOL bUseBackgroundFill);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LandingGap )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *gap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LandingGap )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double gap);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Radius )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *gap);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Radius )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double gap);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrameDisplay )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFrameDisplay )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Latitude )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *latitude);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Latitude )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR latitude);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Longitude )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *longitude);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Longitude )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR longitude);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Altitude )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ double *altitude);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Altitude )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ double altitude);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Notes )( 
            IAcadGeoPositionMarker * This,
            /* [retval][out] */ BSTR *notes);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Notes )( 
            IAcadGeoPositionMarker * This,
            /* [in] */ BSTR notes);
        
        END_INTERFACE
    } IAcadGeoPositionMarkerVtbl;

    interface IAcadGeoPositionMarker
    {
        CONST_VTBL struct IAcadGeoPositionMarkerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadGeoPositionMarker_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadGeoPositionMarker_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadGeoPositionMarker_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadGeoPositionMarker_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadGeoPositionMarker_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadGeoPositionMarker_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadGeoPositionMarker_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadGeoPositionMarker_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadGeoPositionMarker_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadGeoPositionMarker_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadGeoPositionMarker_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadGeoPositionMarker_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadGeoPositionMarker_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadGeoPositionMarker_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadGeoPositionMarker_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadGeoPositionMarker_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadGeoPositionMarker_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadGeoPositionMarker_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadGeoPositionMarker_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadGeoPositionMarker_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadGeoPositionMarker_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadGeoPositionMarker_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadGeoPositionMarker_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadGeoPositionMarker_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadGeoPositionMarker_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadGeoPositionMarker_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadGeoPositionMarker_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadGeoPositionMarker_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadGeoPositionMarker_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadGeoPositionMarker_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadGeoPositionMarker_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadGeoPositionMarker_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadGeoPositionMarker_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadGeoPositionMarker_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadGeoPositionMarker_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadGeoPositionMarker_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadGeoPositionMarker_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadGeoPositionMarker_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadGeoPositionMarker_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadGeoPositionMarker_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadGeoPositionMarker_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadGeoPositionMarker_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadGeoPositionMarker_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadGeoPositionMarker_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadGeoPositionMarker_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadGeoPositionMarker_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadGeoPositionMarker_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadGeoPositionMarker_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadGeoPositionMarker_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadGeoPositionMarker_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadGeoPositionMarker_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadGeoPositionMarker_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadGeoPositionMarker_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadGeoPositionMarker_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadGeoPositionMarker_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadGeoPositionMarker_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadGeoPositionMarker_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadGeoPositionMarker_get_Position(This,position)	\
    ( (This)->lpVtbl -> get_Position(This,position) ) 

#define IAcadGeoPositionMarker_put_Position(This,position)	\
    ( (This)->lpVtbl -> put_Position(This,position) ) 

#define IAcadGeoPositionMarker_get_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextString(This,bstrText) ) 

#define IAcadGeoPositionMarker_put_TextString(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextString(This,bstrText) ) 

#define IAcadGeoPositionMarker_get_TextStyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_TextStyleName(This,bstrName) ) 

#define IAcadGeoPositionMarker_put_TextStyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_TextStyleName(This,bstrName) ) 

#define IAcadGeoPositionMarker_get_TextJustify(This,attPoint)	\
    ( (This)->lpVtbl -> get_TextJustify(This,attPoint) ) 

#define IAcadGeoPositionMarker_put_TextJustify(This,attPoint)	\
    ( (This)->lpVtbl -> put_TextJustify(This,attPoint) ) 

#define IAcadGeoPositionMarker_get_DrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> get_DrawingDirection(This,drawDir) ) 

#define IAcadGeoPositionMarker_put_DrawingDirection(This,drawDir)	\
    ( (This)->lpVtbl -> put_DrawingDirection(This,drawDir) ) 

#define IAcadGeoPositionMarker_get_TextWidth(This,width)	\
    ( (This)->lpVtbl -> get_TextWidth(This,width) ) 

#define IAcadGeoPositionMarker_put_TextWidth(This,width)	\
    ( (This)->lpVtbl -> put_TextWidth(This,width) ) 

#define IAcadGeoPositionMarker_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadGeoPositionMarker_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadGeoPositionMarker_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadGeoPositionMarker_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadGeoPositionMarker_get_LineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> get_LineSpacingFactor(This,Factor) ) 

#define IAcadGeoPositionMarker_put_LineSpacingFactor(This,Factor)	\
    ( (This)->lpVtbl -> put_LineSpacingFactor(This,Factor) ) 

#define IAcadGeoPositionMarker_get_LineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> get_LineSpacingDistance(This,Value) ) 

#define IAcadGeoPositionMarker_put_LineSpacingDistance(This,Value)	\
    ( (This)->lpVtbl -> put_LineSpacingDistance(This,Value) ) 

#define IAcadGeoPositionMarker_get_LineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> get_LineSpacingStyle(This,Style) ) 

#define IAcadGeoPositionMarker_put_LineSpacingStyle(This,Style)	\
    ( (This)->lpVtbl -> put_LineSpacingStyle(This,Style) ) 

#define IAcadGeoPositionMarker_get_BackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> get_BackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadGeoPositionMarker_put_BackgroundFill(This,bUseBackgroundFill)	\
    ( (This)->lpVtbl -> put_BackgroundFill(This,bUseBackgroundFill) ) 

#define IAcadGeoPositionMarker_get_LandingGap(This,gap)	\
    ( (This)->lpVtbl -> get_LandingGap(This,gap) ) 

#define IAcadGeoPositionMarker_put_LandingGap(This,gap)	\
    ( (This)->lpVtbl -> put_LandingGap(This,gap) ) 

#define IAcadGeoPositionMarker_get_Radius(This,gap)	\
    ( (This)->lpVtbl -> get_Radius(This,gap) ) 

#define IAcadGeoPositionMarker_put_Radius(This,gap)	\
    ( (This)->lpVtbl -> put_Radius(This,gap) ) 

#define IAcadGeoPositionMarker_get_TextFrameDisplay(This,pVal)	\
    ( (This)->lpVtbl -> get_TextFrameDisplay(This,pVal) ) 

#define IAcadGeoPositionMarker_put_TextFrameDisplay(This,newVal)	\
    ( (This)->lpVtbl -> put_TextFrameDisplay(This,newVal) ) 

#define IAcadGeoPositionMarker_get_Latitude(This,latitude)	\
    ( (This)->lpVtbl -> get_Latitude(This,latitude) ) 

#define IAcadGeoPositionMarker_put_Latitude(This,latitude)	\
    ( (This)->lpVtbl -> put_Latitude(This,latitude) ) 

#define IAcadGeoPositionMarker_get_Longitude(This,longitude)	\
    ( (This)->lpVtbl -> get_Longitude(This,longitude) ) 

#define IAcadGeoPositionMarker_put_Longitude(This,longitude)	\
    ( (This)->lpVtbl -> put_Longitude(This,longitude) ) 

#define IAcadGeoPositionMarker_get_Altitude(This,altitude)	\
    ( (This)->lpVtbl -> get_Altitude(This,altitude) ) 

#define IAcadGeoPositionMarker_put_Altitude(This,altitude)	\
    ( (This)->lpVtbl -> put_Altitude(This,altitude) ) 

#define IAcadGeoPositionMarker_get_Notes(This,notes)	\
    ( (This)->lpVtbl -> get_Notes(This,notes) ) 

#define IAcadGeoPositionMarker_put_Notes(This,notes)	\
    ( (This)->lpVtbl -> put_Notes(This,notes) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadGeoPositionMarker_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadGeoPositionMarker,0x596AC23D,0x8F9D,0x4848,0xA4,0x1D,0x4E,0x5F,0x5A,0xA8,0xED,0xEE);

#ifdef __cplusplus

class DECLSPEC_UUID("596AC23D-8F9D-4848-A41D-4E5F5AA8EDEE")
AcadGeoPositionMarker;
#endif

#ifndef __IAcadGeomapImage_INTERFACE_DEFINED__
#define __IAcadGeomapImage_INTERFACE_DEFINED__

/* interface IAcadGeomapImage */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadGeomapImage,0xCADB9809,0xD6DB,0x42D1,0xBE,0x8E,0x57,0x05,0x2F,0x88,0x33,0xC4);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CADB9809-D6DB-42D1-BE8E-57052F8833C4")
    IAcadGeomapImage : public IAcadRasterImage
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImageBrightness( 
            /* [retval][out] */ long *brightness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GeoImageBrightness( 
            /* [in] */ long brightness) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImageContrast( 
            /* [retval][out] */ long *contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GeoImageContrast( 
            /* [in] */ long contrast) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImageFade( 
            /* [retval][out] */ long *fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_GeoImageFade( 
            /* [in] */ long fade) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImagePosition( 
            /* [retval][out] */ VARIANT *position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImageWidth( 
            /* [retval][out] */ double *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_GeoImageHeight( 
            /* [retval][out] */ double *height) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadGeomapImageVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadGeomapImage * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadGeomapImage * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadGeomapImage * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadGeomapImage * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadGeomapImage * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadGeomapImage * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadGeomapImage * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadGeomapImage * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadGeomapImage * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadGeomapImage * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadGeomapImage * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadGeomapImage * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadGeomapImage * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadGeomapImage * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadGeomapImage * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadGeomapImage * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadGeomapImage * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadGeomapImage * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Brightness )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *brightness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Brightness )( 
            IAcadGeomapImage * This,
            /* [in] */ long brightness);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Contrast )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Contrast )( 
            IAcadGeomapImage * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fade )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fade )( 
            IAcadGeomapImage * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT Origin);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadGeomapImage * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageWidth )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageWidth )( 
            IAcadGeomapImage * This,
            /* [in] */ double width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageHeight )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageHeight )( 
            IAcadGeomapImage * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageFile )( 
            IAcadGeomapImage * This,
            /* [in] */ BSTR imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageFile )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ BSTR *imageFileName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageVisibility )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *fVisible);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageVisibility )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL fVisible);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ClippingEnabled )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *kClip);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ClippingEnabled )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL kClip);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Transparency )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *bTransp);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Transparency )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL bTransp);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ClipBoundary )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT boundry);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *pixelHeight);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *pixelWidth);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRotation )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT_BOOL *bShow);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowRotation )( 
            IAcadGeomapImage * This,
            /* [in] */ VARIANT_BOOL bShow);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ ACAD_NOUNITS *scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadGeomapImage * This,
            /* [in] */ ACAD_NOUNITS scaleFactor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImageBrightness )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *brightness);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GeoImageBrightness )( 
            IAcadGeomapImage * This,
            /* [in] */ long brightness);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImageContrast )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *contrast);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GeoImageContrast )( 
            IAcadGeomapImage * This,
            /* [in] */ long contrast);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImageFade )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ long *fade);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GeoImageFade )( 
            IAcadGeomapImage * This,
            /* [in] */ long fade);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImagePosition )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ VARIANT *position);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImageWidth )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *width);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GeoImageHeight )( 
            IAcadGeomapImage * This,
            /* [retval][out] */ double *height);
        
        END_INTERFACE
    } IAcadGeomapImageVtbl;

    interface IAcadGeomapImage
    {
        CONST_VTBL struct IAcadGeomapImageVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadGeomapImage_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadGeomapImage_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadGeomapImage_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadGeomapImage_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadGeomapImage_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadGeomapImage_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadGeomapImage_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadGeomapImage_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadGeomapImage_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadGeomapImage_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadGeomapImage_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadGeomapImage_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadGeomapImage_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadGeomapImage_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadGeomapImage_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadGeomapImage_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadGeomapImage_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadGeomapImage_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadGeomapImage_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadGeomapImage_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadGeomapImage_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadGeomapImage_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadGeomapImage_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadGeomapImage_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadGeomapImage_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadGeomapImage_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadGeomapImage_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadGeomapImage_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadGeomapImage_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadGeomapImage_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadGeomapImage_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadGeomapImage_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadGeomapImage_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadGeomapImage_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadGeomapImage_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadGeomapImage_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadGeomapImage_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadGeomapImage_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadGeomapImage_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadGeomapImage_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadGeomapImage_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadGeomapImage_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadGeomapImage_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadGeomapImage_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadGeomapImage_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadGeomapImage_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadGeomapImage_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadGeomapImage_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadGeomapImage_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadGeomapImage_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadGeomapImage_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadGeomapImage_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadGeomapImage_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadGeomapImage_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadGeomapImage_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadGeomapImage_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadGeomapImage_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadGeomapImage_get_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> get_Brightness(This,brightness) ) 

#define IAcadGeomapImage_put_Brightness(This,brightness)	\
    ( (This)->lpVtbl -> put_Brightness(This,brightness) ) 

#define IAcadGeomapImage_get_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> get_Contrast(This,contrast) ) 

#define IAcadGeomapImage_put_Contrast(This,contrast)	\
    ( (This)->lpVtbl -> put_Contrast(This,contrast) ) 

#define IAcadGeomapImage_get_Fade(This,fade)	\
    ( (This)->lpVtbl -> get_Fade(This,fade) ) 

#define IAcadGeomapImage_put_Fade(This,fade)	\
    ( (This)->lpVtbl -> put_Fade(This,fade) ) 

#define IAcadGeomapImage_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadGeomapImage_put_Origin(This,Origin)	\
    ( (This)->lpVtbl -> put_Origin(This,Origin) ) 

#define IAcadGeomapImage_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadGeomapImage_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadGeomapImage_get_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> get_ImageWidth(This,width) ) 

#define IAcadGeomapImage_put_ImageWidth(This,width)	\
    ( (This)->lpVtbl -> put_ImageWidth(This,width) ) 

#define IAcadGeomapImage_get_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> get_ImageHeight(This,height) ) 

#define IAcadGeomapImage_put_ImageHeight(This,height)	\
    ( (This)->lpVtbl -> put_ImageHeight(This,height) ) 

#define IAcadGeomapImage_get_Name(This,Name)	\
    ( (This)->lpVtbl -> get_Name(This,Name) ) 

#define IAcadGeomapImage_put_Name(This,Name)	\
    ( (This)->lpVtbl -> put_Name(This,Name) ) 

#define IAcadGeomapImage_put_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> put_ImageFile(This,imageFileName) ) 

#define IAcadGeomapImage_get_ImageFile(This,imageFileName)	\
    ( (This)->lpVtbl -> get_ImageFile(This,imageFileName) ) 

#define IAcadGeomapImage_get_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> get_ImageVisibility(This,fVisible) ) 

#define IAcadGeomapImage_put_ImageVisibility(This,fVisible)	\
    ( (This)->lpVtbl -> put_ImageVisibility(This,fVisible) ) 

#define IAcadGeomapImage_get_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> get_ClippingEnabled(This,kClip) ) 

#define IAcadGeomapImage_put_ClippingEnabled(This,kClip)	\
    ( (This)->lpVtbl -> put_ClippingEnabled(This,kClip) ) 

#define IAcadGeomapImage_get_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> get_Transparency(This,bTransp) ) 

#define IAcadGeomapImage_put_Transparency(This,bTransp)	\
    ( (This)->lpVtbl -> put_Transparency(This,bTransp) ) 

#define IAcadGeomapImage_ClipBoundary(This,boundry)	\
    ( (This)->lpVtbl -> ClipBoundary(This,boundry) ) 

#define IAcadGeomapImage_get_Height(This,pixelHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pixelHeight) ) 

#define IAcadGeomapImage_get_Width(This,pixelWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pixelWidth) ) 

#define IAcadGeomapImage_get_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> get_ShowRotation(This,bShow) ) 

#define IAcadGeomapImage_put_ShowRotation(This,bShow)	\
    ( (This)->lpVtbl -> put_ShowRotation(This,bShow) ) 

#define IAcadGeomapImage_get_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,scaleFactor) ) 

#define IAcadGeomapImage_put_ScaleFactor(This,scaleFactor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,scaleFactor) ) 


#define IAcadGeomapImage_get_GeoImageBrightness(This,brightness)	\
    ( (This)->lpVtbl -> get_GeoImageBrightness(This,brightness) ) 

#define IAcadGeomapImage_put_GeoImageBrightness(This,brightness)	\
    ( (This)->lpVtbl -> put_GeoImageBrightness(This,brightness) ) 

#define IAcadGeomapImage_get_GeoImageContrast(This,contrast)	\
    ( (This)->lpVtbl -> get_GeoImageContrast(This,contrast) ) 

#define IAcadGeomapImage_put_GeoImageContrast(This,contrast)	\
    ( (This)->lpVtbl -> put_GeoImageContrast(This,contrast) ) 

#define IAcadGeomapImage_get_GeoImageFade(This,fade)	\
    ( (This)->lpVtbl -> get_GeoImageFade(This,fade) ) 

#define IAcadGeomapImage_put_GeoImageFade(This,fade)	\
    ( (This)->lpVtbl -> put_GeoImageFade(This,fade) ) 

#define IAcadGeomapImage_get_GeoImagePosition(This,position)	\
    ( (This)->lpVtbl -> get_GeoImagePosition(This,position) ) 

#define IAcadGeomapImage_get_GeoImageWidth(This,width)	\
    ( (This)->lpVtbl -> get_GeoImageWidth(This,width) ) 

#define IAcadGeomapImage_get_GeoImageHeight(This,height)	\
    ( (This)->lpVtbl -> get_GeoImageHeight(This,height) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadGeomapImage_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadGeomapImage,0x80FD12F0,0xC879,0x4A6E,0x89,0xB2,0x44,0xB7,0xC2,0x7D,0xE7,0x07);

#ifdef __cplusplus

class DECLSPEC_UUID("80FD12F0-C879-4A6E-89B2-44B7C27DE707")
AcadGeomapImage;
#endif

#ifndef __IAcadDimension_INTERFACE_DEFINED__
#define __IAcadDimension_INTERFACE_DEFINED__

/* interface IAcadDimension */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimension,0x54A19AA1,0x6056,0x4A58,0x8A,0xC8,0x4E,0xE3,0xC4,0xFE,0xE2,0xB5);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("54A19AA1-6056-4A58-8AC8-4EE3C4FEE2B5")
    IAcadDimension : public IAcadEntity
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Normal( 
            /* [retval][out] */ VARIANT *normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Normal( 
            /* [in] */ VARIANT normal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextPosition( 
            /* [retval][out] */ VARIANT *textPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextPosition( 
            /* [in] */ VARIANT textPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextRotation( 
            /* [retval][out] */ ACAD_ANGLE *rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextRotation( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOverride( 
            /* [retval][out] */ BSTR *bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOverride( 
            /* [in] */ BSTR bstrText) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_StyleName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_StyleName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextColor( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextColor( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DecimalSeparator( 
            /* [retval][out] */ BSTR *character) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DecimalSeparator( 
            /* [in] */ BSTR character) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextGap( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextGap( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrefix( 
            /* [retval][out] */ BSTR *prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextPrefix( 
            /* [in] */ BSTR prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ScaleFactor( 
            /* [in] */ ACAD_NOUNITS factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_VerticalTextPosition( 
            /* [retval][out] */ AcDimVerticalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_VerticalTextPosition( 
            /* [in] */ AcDimVerticalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TolerancePrecision( 
            /* [in] */ AcDimPrecision precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceHeightScale( 
            /* [retval][out] */ ACAD_NOUNITS *scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceHeightScale( 
            /* [in] */ ACAD_NOUNITS scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceLowerLimit( 
            /* [retval][out] */ double *lower) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceLowerLimit( 
            /* [in] */ double lower) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextMovement( 
            /* [retval][out] */ AcDimTextMovement *move) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextMovement( 
            /* [in] */ AcDimTextMovement move) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceDisplay( 
            /* [retval][out] */ AcDimToleranceMethod *method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceDisplay( 
            /* [in] */ AcDimToleranceMethod method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceJustification( 
            /* [retval][out] */ AcDimToleranceJustify *method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceJustification( 
            /* [in] */ AcDimToleranceJustify method) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceUpperLimit( 
            /* [retval][out] */ double *upper) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceUpperLimit( 
            /* [in] */ double upper) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextStyle( 
            /* [retval][out] */ BSTR *style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextStyle( 
            /* [in] */ BSTR style) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextHeight( 
            /* [retval][out] */ double *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextHeight( 
            /* [in] */ double height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextFill( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextFill( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextFillColor( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextFillColor( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimTxtDirection( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimTxtDirection( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimensionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimension * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimension * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimension * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimension * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimension * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimension * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimension * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimension * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimension * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimension * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimension * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimension * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimension * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimension * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimension * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimension * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimension * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimension * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimension * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimension * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimension * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimension * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimension * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimension * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimension * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimension * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimension * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimension * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimension * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimension * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimension * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimension * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimension * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimension * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimension * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimension * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimension * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimension * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimension * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimension * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimension * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimension * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimension * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimension * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimension * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimension * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimension * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimension * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimension * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimension * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimension * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimension * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimension * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimension * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimension * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimension * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimension * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimension * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimension * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimension * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimension * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimension * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimension * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimension * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimension * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimension * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimension * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimension * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimension * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimension * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimension * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimension * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimension * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimension * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimension * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimension * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimension * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimension * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        END_INTERFACE
    } IAcadDimensionVtbl;

    interface IAcadDimension
    {
        CONST_VTBL struct IAcadDimensionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimension_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimension_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimension_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimension_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimension_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimension_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimension_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimension_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimension_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimension_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimension_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimension_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimension_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimension_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimension_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimension_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimension_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimension_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimension_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimension_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimension_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimension_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimension_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimension_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimension_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimension_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimension_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimension_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimension_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimension_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimension_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimension_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimension_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimension_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimension_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimension_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimension_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimension_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimension_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimension_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimension_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimension_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimension_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimension_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimension_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimension_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimension_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimension_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimension_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimension_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimension_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimension_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimension_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimension_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimension_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimension_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimension_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimension_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimension_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimension_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimension_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimension_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimension_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimension_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimension_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimension_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimension_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimension_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimension_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimension_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimension_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimension_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimension_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimension_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimension_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimension_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimension_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimension_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimension_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimension_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimension_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimension_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimension_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimension_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimension_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimension_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimension_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimension_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimension_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimension_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimension_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimension_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimension_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimension_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimension_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimension_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimension_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimension_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimension_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimension_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimension_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimension_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimension_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimension_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimension_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimension_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimension_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimension_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimension_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimension_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimension_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimension_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimension_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimension_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimension_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDimension_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimension,0x8D7FC5F3,0x5AAB,0x4833,0x95,0xAA,0xA5,0x0B,0x6C,0x31,0x75,0x18);

#ifdef __cplusplus

class DECLSPEC_UUID("8D7FC5F3-5AAB-4833-95AA-A50B6C317518")
AcadDimension;
#endif

#ifndef __IAcadDimAligned_INTERFACE_DEFINED__
#define __IAcadDimAligned_INTERFACE_DEFINED__

/* interface IAcadDimAligned */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimAligned,0x6DC81443,0x5B5B,0x40FE,0x90,0x8D,0xBC,0xC7,0x3A,0x82,0x91,0x3C);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("6DC81443-5B5B-40FE-908D-BCC73A82913C")
    IAcadDimAligned : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Point( 
            /* [retval][out] */ VARIANT *xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Point( 
            /* [in] */ VARIANT xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Point( 
            /* [retval][out] */ VARIANT *xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Point( 
            /* [in] */ VARIANT xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ AcDimHorizontalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ AcDimHorizontalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimAlignedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimAligned * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimAligned * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimAligned * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimAligned * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimAligned * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimAligned * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimAligned * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimAligned * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimAligned * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimAligned * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimAligned * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimAligned * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimAligned * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimAligned * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimAligned * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimAligned * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimAligned * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimAligned * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimAligned * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimAligned * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimAligned * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimAligned * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimAligned * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimAligned * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimAligned * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimAligned * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimAligned * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimAligned * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Point )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT *xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Point )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Point )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT *xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Point )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT xLine2Point);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimAligned * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineExtend )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineExtend )( 
            IAcadDimAligned * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineExtend )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineExtend )( 
            IAcadDimAligned * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalTextPosition )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimHorizontalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalTextPosition )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimHorizontalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimAligned * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Suppress )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Suppress )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Suppress )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Suppress )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineInside )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineInside )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDimAligned * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimAligned * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimAligned * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimAligned * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDimAligned * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDimAligned * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Linetype )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Linetype )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Linetype )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Linetype )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDimAligned * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDimAligned * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDimAligned * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsSuffix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsSuffix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsFactor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsFactor )( 
            IAcadDimAligned * This,
            /* [in] */ double factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsSuffix )( 
            IAcadDimAligned * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsSuffix )( 
            IAcadDimAligned * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsFactor )( 
            IAcadDimAligned * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsFactor )( 
            IAcadDimAligned * This,
            /* [in] */ double factor);
        
        END_INTERFACE
    } IAcadDimAlignedVtbl;

    interface IAcadDimAligned
    {
        CONST_VTBL struct IAcadDimAlignedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimAligned_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimAligned_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimAligned_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimAligned_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimAligned_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimAligned_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimAligned_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimAligned_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimAligned_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimAligned_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimAligned_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimAligned_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimAligned_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimAligned_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimAligned_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimAligned_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimAligned_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimAligned_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimAligned_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimAligned_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimAligned_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimAligned_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimAligned_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimAligned_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimAligned_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimAligned_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimAligned_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimAligned_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimAligned_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimAligned_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimAligned_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimAligned_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimAligned_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimAligned_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimAligned_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimAligned_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimAligned_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimAligned_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimAligned_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimAligned_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimAligned_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimAligned_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimAligned_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimAligned_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimAligned_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimAligned_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimAligned_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimAligned_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimAligned_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimAligned_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimAligned_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimAligned_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimAligned_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimAligned_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimAligned_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimAligned_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimAligned_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimAligned_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimAligned_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimAligned_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimAligned_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimAligned_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimAligned_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimAligned_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimAligned_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimAligned_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimAligned_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimAligned_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimAligned_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimAligned_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimAligned_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimAligned_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimAligned_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimAligned_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimAligned_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimAligned_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimAligned_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimAligned_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimAligned_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimAligned_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimAligned_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimAligned_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimAligned_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimAligned_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimAligned_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimAligned_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimAligned_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimAligned_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimAligned_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimAligned_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimAligned_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimAligned_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimAligned_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimAligned_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimAligned_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimAligned_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimAligned_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimAligned_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimAligned_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimAligned_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimAligned_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimAligned_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimAligned_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimAligned_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimAligned_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimAligned_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimAligned_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimAligned_get_ExtLine1Point(This,xLine1Point)	\
    ( (This)->lpVtbl -> get_ExtLine1Point(This,xLine1Point) ) 

#define IAcadDimAligned_put_ExtLine1Point(This,xLine1Point)	\
    ( (This)->lpVtbl -> put_ExtLine1Point(This,xLine1Point) ) 

#define IAcadDimAligned_get_ExtLine2Point(This,xLine2Point)	\
    ( (This)->lpVtbl -> get_ExtLine2Point(This,xLine2Point) ) 

#define IAcadDimAligned_put_ExtLine2Point(This,xLine2Point)	\
    ( (This)->lpVtbl -> put_ExtLine2Point(This,xLine2Point) ) 

#define IAcadDimAligned_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimAligned_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimAligned_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimAligned_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimAligned_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimAligned_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimAligned_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimAligned_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimAligned_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimAligned_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimAligned_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimAligned_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimAligned_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimAligned_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimAligned_get_AltTextSuffix(This,Suffix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Suffix) ) 

#define IAcadDimAligned_put_AltTextSuffix(This,Suffix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Suffix) ) 

#define IAcadDimAligned_get_DimensionLineColor(This,Color)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Color) ) 

#define IAcadDimAligned_put_DimensionLineColor(This,Color)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Color) ) 

#define IAcadDimAligned_get_ExtensionLineColor(This,Color)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Color) ) 

#define IAcadDimAligned_put_ExtensionLineColor(This,Color)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Color) ) 

#define IAcadDimAligned_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimAligned_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimAligned_get_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_DimensionLineExtend(This,extend) ) 

#define IAcadDimAligned_put_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_DimensionLineExtend(This,extend) ) 

#define IAcadDimAligned_get_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_ExtensionLineExtend(This,extend) ) 

#define IAcadDimAligned_put_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_ExtensionLineExtend(This,extend) ) 

#define IAcadDimAligned_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimAligned_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimAligned_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimAligned_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimAligned_get_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_HorizontalTextPosition(This,type) ) 

#define IAcadDimAligned_put_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_HorizontalTextPosition(This,type) ) 

#define IAcadDimAligned_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimAligned_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimAligned_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimAligned_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimAligned_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimAligned_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimAligned_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimAligned_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimAligned_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimAligned_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimAligned_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimAligned_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimAligned_get_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimAligned_put_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimAligned_get_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimAligned_put_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimAligned_get_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_DimLineInside(This,bInside) ) 

#define IAcadDimAligned_put_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_DimLineInside(This,bInside) ) 

#define IAcadDimAligned_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimAligned_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimAligned_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimAligned_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimAligned_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimAligned_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimAligned_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimAligned_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimAligned_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDimAligned_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDimAligned_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAligned_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAligned_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimAligned_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimAligned_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimAligned_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimAligned_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimAligned_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimAligned_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDimAligned_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDimAligned_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDimAligned_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDimAligned_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimAligned_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimAligned_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimAligned_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimAligned_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimAligned_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimAligned_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimAligned_get_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimAligned_put_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimAligned_get_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimAligned_put_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimAligned_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimAligned_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimAligned_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimAligned_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimAligned_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimAligned_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimAligned_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDimAligned_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDimAligned_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDimAligned_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDimAligned_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimAligned_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimAligned_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDimAligned_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDimAligned_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimAligned_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimAligned_get_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimAligned_put_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimAligned_get_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_SubUnitsFactor(This,factor) ) 

#define IAcadDimAligned_put_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_SubUnitsFactor(This,factor) ) 

#define IAcadDimAligned_get_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimAligned_put_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimAligned_get_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_AltSubUnitsFactor(This,factor) ) 

#define IAcadDimAligned_put_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_AltSubUnitsFactor(This,factor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltTolerancePrecision_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimPrecision Distance);


void __RPC_STUB IAcadDimAligned_put_AltTolerancePrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltUnitsFormat_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimUnits *Units);


void __RPC_STUB IAcadDimAligned_get_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltUnitsFormat_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimUnits Units);


void __RPC_STUB IAcadDimAligned_put_AltUnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltTextPrefix_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimAligned_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltTextPrefix_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimAligned_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltTextSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *Suffix);


void __RPC_STUB IAcadDimAligned_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltTextSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR Suffix);


void __RPC_STUB IAcadDimAligned_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimensionLineColor_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ ACAD_COLOR *Color);


void __RPC_STUB IAcadDimAligned_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimensionLineColor_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ ACAD_COLOR Color);


void __RPC_STUB IAcadDimAligned_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtensionLineColor_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ ACAD_COLOR *Color);


void __RPC_STUB IAcadDimAligned_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtensionLineColor_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ ACAD_COLOR Color);


void __RPC_STUB IAcadDimAligned_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimAligned_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimAligned_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimensionLineExtend_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimAligned_get_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimensionLineExtend_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimAligned_put_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtensionLineExtend_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimAligned_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtensionLineExtend_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimAligned_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Fit_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimAligned_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_Fit_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimAligned_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_FractionFormat_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimAligned_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_FractionFormat_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimAligned_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_HorizontalTextPosition_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimHorizontalJustification *type);


void __RPC_STUB IAcadDimAligned_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_HorizontalTextPosition_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimHorizontalJustification type);


void __RPC_STUB IAcadDimAligned_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_LinearScaleFactor_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimAligned_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_LinearScaleFactor_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimAligned_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_UnitsFormat_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimAligned_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_UnitsFormat_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimAligned_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtensionLineWeight_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDimAligned_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtensionLineWeight_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDimAligned_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_RoundDistance_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimAligned_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_RoundDistance_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimAligned_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimLine1Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAligned_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimLine1Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAligned_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimLine2Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAligned_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimLine2Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAligned_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLine1Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAligned_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLine1Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAligned_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLine2Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAligned_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLine2Suppress_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAligned_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimLineInside_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAligned_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimLineInside_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAligned_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_TextInsideAlign_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAligned_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_TextInsideAlign_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAligned_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_TextInside_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAligned_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_TextInside_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAligned_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ForceLineInside_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAligned_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ForceLineInside_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAligned_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_TextOutsideAlign_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAligned_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_TextOutsideAlign_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAligned_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtensionLineOffset_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDimAligned_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtensionLineOffset_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDimAligned_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_SuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_SuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_SuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_SuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimAligned_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimAligned_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimensionLineWeight_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimAligned_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimensionLineWeight_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimAligned_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ArrowheadSize_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimAligned_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ArrowheadSize_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimAligned_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Arrowhead1Type_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimAligned_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_Arrowhead1Type_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimAligned_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Arrowhead2Type_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimAligned_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_Arrowhead2Type_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimAligned_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Measurement_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimAligned_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Arrowhead1Block_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimAligned_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_Arrowhead1Block_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimAligned_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_Arrowhead2Block_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimAligned_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_Arrowhead2Block_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimAligned_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimensionLinetype_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAligned_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimensionLinetype_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAligned_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLine1Linetype_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAligned_get_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLine1Linetype_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAligned_put_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLine2Linetype_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAligned_get_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLine2Linetype_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAligned_put_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDimAligned_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDimAligned_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_ExtLineFixedLen_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDimAligned_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_ExtLineFixedLen_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDimAligned_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrForm_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDimAligned_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrForm_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDimAligned_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrReference_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDimAligned_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrReference_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDimAligned_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrName_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDimAligned_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrName_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDimAligned_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrExpression_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDimAligned_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrExpression_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDimAligned_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrValue_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDimAligned_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrValue_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDimAligned_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_DimConstrDesc_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDimAligned_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_DimConstrDesc_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDimAligned_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_SubUnitsSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimAligned_get_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_SubUnitsSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimAligned_put_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_SubUnitsFactor_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimAligned_get_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_SubUnitsFactor_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimAligned_put_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSubUnitsSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimAligned_get_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSubUnitsSuffix_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimAligned_put_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_get_AltSubUnitsFactor_Proxy( 
    IAcadDimAligned * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimAligned_get_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAligned_put_AltSubUnitsFactor_Proxy( 
    IAcadDimAligned * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimAligned_put_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimAligned_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimAligned,0x167AC0F9,0x6848,0x486C,0xA6,0x88,0x2C,0xCE,0x0C,0xCC,0xEC,0xE3);

#ifdef __cplusplus

class DECLSPEC_UUID("167AC0F9-6848-486C-A688-2CCE0CCCECE3")
AcadDimAligned;
#endif

#ifndef __IAcadDimAngular_INTERFACE_DEFINED__
#define __IAcadDimAngular_INTERFACE_DEFINED__

/* interface IAcadDimAngular */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimAngular,0xB3B0B256,0x0AD4,0x4DBD,0xB8,0xFE,0x8A,0x01,0xD1,0xC9,0xE8,0x57);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B3B0B256-0AD4-4DBD-B8FE-8A01D1C9E857")
    IAcadDimAngular : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1StartPoint( 
            /* [retval][out] */ VARIANT *xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1StartPoint( 
            /* [in] */ VARIANT xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1EndPoint( 
            /* [retval][out] */ VARIANT *xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1EndPoint( 
            /* [in] */ VARIANT xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2StartPoint( 
            /* [retval][out] */ VARIANT *xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2StartPoint( 
            /* [in] */ VARIANT xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2EndPoint( 
            /* [retval][out] */ VARIANT *xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2EndPoint( 
            /* [in] */ VARIANT xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AngleFormat( 
            /* [retval][out] */ AcAngleUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AngleFormat( 
            /* [in] */ AcAngleUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ AcDimHorizontalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ AcDimHorizontalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ AcDimPrecision *precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ AcDimPrecision precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ ACAD_ANGLE *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimAngularVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimAngular * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimAngular * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimAngular * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimAngular * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimAngular * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimAngular * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimAngular * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimAngular * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimAngular * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimAngular * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimAngular * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimAngular * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimAngular * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimAngular * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimAngular * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimAngular * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimAngular * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimAngular * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimAngular * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimAngular * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimAngular * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimAngular * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimAngular * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimAngular * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimAngular * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimAngular * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimAngular * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimAngular * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1StartPoint )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1StartPoint )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1EndPoint )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1EndPoint )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2StartPoint )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2StartPoint )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2EndPoint )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT *xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2EndPoint )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT xLine2Point);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AngleFormat )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcAngleUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AngleFormat )( 
            IAcadDimAngular * This,
            /* [in] */ AcAngleUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineExtend )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineExtend )( 
            IAcadDimAngular * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalTextPosition )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimHorizontalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalTextPosition )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimHorizontalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Suppress )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Suppress )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Suppress )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Suppress )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineInside )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineInside )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrecision )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrecision )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDimAngular * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimAngular * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimAngular * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDimAngular * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDimAngular * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimAngular * This,
            /* [retval][out] */ ACAD_ANGLE *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Linetype )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Linetype )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Linetype )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Linetype )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDimAngular * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDimAngular * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDimAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDimAngular * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDimAngular * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDimAngular * This,
            /* [in] */ BSTR bstrDescription);
        
        END_INTERFACE
    } IAcadDimAngularVtbl;

    interface IAcadDimAngular
    {
        CONST_VTBL struct IAcadDimAngularVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimAngular_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimAngular_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimAngular_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimAngular_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimAngular_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimAngular_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimAngular_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimAngular_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimAngular_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimAngular_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimAngular_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimAngular_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimAngular_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimAngular_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimAngular_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimAngular_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimAngular_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimAngular_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimAngular_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimAngular_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimAngular_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimAngular_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimAngular_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimAngular_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimAngular_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimAngular_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimAngular_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimAngular_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimAngular_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimAngular_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimAngular_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimAngular_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimAngular_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimAngular_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimAngular_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimAngular_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimAngular_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimAngular_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimAngular_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimAngular_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimAngular_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimAngular_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimAngular_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimAngular_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimAngular_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimAngular_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimAngular_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimAngular_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimAngular_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimAngular_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimAngular_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimAngular_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimAngular_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimAngular_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimAngular_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimAngular_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimAngular_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimAngular_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimAngular_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimAngular_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimAngular_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimAngular_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimAngular_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimAngular_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimAngular_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimAngular_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimAngular_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimAngular_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimAngular_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimAngular_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimAngular_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimAngular_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimAngular_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimAngular_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimAngular_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimAngular_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimAngular_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimAngular_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimAngular_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimAngular_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimAngular_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimAngular_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimAngular_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimAngular_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimAngular_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimAngular_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimAngular_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimAngular_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimAngular_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimAngular_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimAngular_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimAngular_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimAngular_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimAngular_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimAngular_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimAngular_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimAngular_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimAngular_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimAngular_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimAngular_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimAngular_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimAngular_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAngular_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAngular_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAngular_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAngular_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAngular_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimAngular_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAngular_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimAngular_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimAngular_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimAngular_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimAngular_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimAngular_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimAngular_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimAngular_get_ExtLine1StartPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> get_ExtLine1StartPoint(This,xLine1Point) ) 

#define IAcadDimAngular_put_ExtLine1StartPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> put_ExtLine1StartPoint(This,xLine1Point) ) 

#define IAcadDimAngular_get_ExtLine1EndPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> get_ExtLine1EndPoint(This,xLine1Point) ) 

#define IAcadDimAngular_put_ExtLine1EndPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> put_ExtLine1EndPoint(This,xLine1Point) ) 

#define IAcadDimAngular_get_ExtLine2StartPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> get_ExtLine2StartPoint(This,xLine2Point) ) 

#define IAcadDimAngular_put_ExtLine2StartPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> put_ExtLine2StartPoint(This,xLine2Point) ) 

#define IAcadDimAngular_get_ExtLine2EndPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> get_ExtLine2EndPoint(This,xLine2Point) ) 

#define IAcadDimAngular_put_ExtLine2EndPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> put_ExtLine2EndPoint(This,xLine2Point) ) 

#define IAcadDimAngular_get_AngleFormat(This,format)	\
    ( (This)->lpVtbl -> get_AngleFormat(This,format) ) 

#define IAcadDimAngular_put_AngleFormat(This,format)	\
    ( (This)->lpVtbl -> put_AngleFormat(This,format) ) 

#define IAcadDimAngular_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimAngular_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimAngular_get_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Type) ) 

#define IAcadDimAngular_put_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Type) ) 

#define IAcadDimAngular_get_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_ExtensionLineExtend(This,extend) ) 

#define IAcadDimAngular_put_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_ExtensionLineExtend(This,extend) ) 

#define IAcadDimAngular_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimAngular_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimAngular_get_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_HorizontalTextPosition(This,type) ) 

#define IAcadDimAngular_put_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_HorizontalTextPosition(This,type) ) 

#define IAcadDimAngular_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimAngular_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimAngular_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimAngular_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimAngular_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimAngular_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimAngular_get_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimAngular_put_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimAngular_get_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimAngular_put_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimAngular_get_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_DimLineInside(This,bInside) ) 

#define IAcadDimAngular_put_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_DimLineInside(This,bInside) ) 

#define IAcadDimAngular_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimAngular_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimAngular_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimAngular_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimAngular_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimAngular_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimAngular_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimAngular_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimAngular_get_TextPrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TextPrecision(This,precision) ) 

#define IAcadDimAngular_put_TextPrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TextPrecision(This,precision) ) 

#define IAcadDimAngular_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDimAngular_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDimAngular_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimAngular_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimAngular_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimAngular_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimAngular_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDimAngular_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDimAngular_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDimAngular_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDimAngular_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimAngular_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimAngular_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimAngular_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimAngular_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimAngular_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimAngular_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimAngular_get_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimAngular_put_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimAngular_get_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimAngular_put_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimAngular_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimAngular_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimAngular_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimAngular_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimAngular_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimAngular_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimAngular_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDimAngular_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDimAngular_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDimAngular_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDimAngular_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimAngular_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimAngular_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDimAngular_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDimAngular_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimAngular_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtensionLineColor_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimAngular_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtensionLineExtend_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimAngular_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtensionLineExtend_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimAngular_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Fit_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimAngular_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_Fit_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimAngular_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_HorizontalTextPosition_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ AcDimHorizontalJustification *type);


void __RPC_STUB IAcadDimAngular_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_HorizontalTextPosition_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ AcDimHorizontalJustification type);


void __RPC_STUB IAcadDimAngular_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtensionLineWeight_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDimAngular_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtensionLineWeight_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDimAngular_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimLine1Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAngular_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimLine1Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAngular_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimLine2Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAngular_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimLine2Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAngular_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLine1Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAngular_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLine1Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAngular_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLine2Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimAngular_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLine2Suppress_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimAngular_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimLineInside_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAngular_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimLineInside_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAngular_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_TextInsideAlign_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAngular_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_TextInsideAlign_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAngular_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_TextInside_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAngular_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_TextInside_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAngular_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ForceLineInside_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAngular_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ForceLineInside_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAngular_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_TextOutsideAlign_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimAngular_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_TextOutsideAlign_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimAngular_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_TextPrecision_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ AcDimPrecision *precision);


void __RPC_STUB IAcadDimAngular_get_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_TextPrecision_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ AcDimPrecision precision);


void __RPC_STUB IAcadDimAngular_put_TextPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtensionLineOffset_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDimAngular_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtensionLineOffset_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDimAngular_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimensionLineWeight_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimAngular_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimensionLineWeight_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimAngular_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ArrowheadSize_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimAngular_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ArrowheadSize_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimAngular_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Arrowhead1Type_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimAngular_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_Arrowhead1Type_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimAngular_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Arrowhead2Type_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimAngular_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_Arrowhead2Type_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimAngular_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Measurement_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ ACAD_ANGLE *bVal);


void __RPC_STUB IAcadDimAngular_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Arrowhead1Block_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimAngular_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_Arrowhead1Block_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimAngular_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_Arrowhead2Block_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimAngular_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_Arrowhead2Block_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimAngular_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimensionLinetype_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAngular_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimensionLinetype_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAngular_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLine1Linetype_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAngular_get_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLine1Linetype_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAngular_put_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLine2Linetype_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimAngular_get_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLine2Linetype_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimAngular_put_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDimAngular_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDimAngular_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_ExtLineFixedLen_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDimAngular_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_ExtLineFixedLen_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDimAngular_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrForm_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDimAngular_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrForm_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDimAngular_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrReference_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDimAngular_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrReference_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDimAngular_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrName_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDimAngular_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrName_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDimAngular_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrExpression_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDimAngular_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrExpression_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDimAngular_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrValue_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDimAngular_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrValue_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDimAngular_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_get_DimConstrDesc_Proxy( 
    IAcadDimAngular * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDimAngular_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimAngular_put_DimConstrDesc_Proxy( 
    IAcadDimAngular * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDimAngular_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimAngular_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimAngular,0xD56A20B6,0x75F4,0x4B51,0xA2,0x67,0x77,0xB8,0xEE,0x74,0x91,0x30);

#ifdef __cplusplus

class DECLSPEC_UUID("D56A20B6-75F4-4B51-A267-77B8EE749130")
AcadDimAngular;
#endif

#ifndef __IAcadDimDiametric_INTERFACE_DEFINED__
#define __IAcadDimDiametric_INTERFACE_DEFINED__

/* interface IAcadDimDiametric */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimDiametric,0xE650A0D0,0xB13D,0x419B,0x92,0x54,0xCF,0x03,0xBD,0xC7,0x9B,0x4B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E650A0D0-B13D-419B-9254-CF03BDC79B4B")
    IAcadDimDiametric : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLength( 
            /* [in] */ double Length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterType( 
            /* [retval][out] */ AcDimCenterType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterType( 
            /* [in] */ AcDimCenterType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterMarkSize( 
            /* [retval][out] */ double *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterMarkSize( 
            /* [in] */ double Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimDiametricVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimDiametric * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimDiametric * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimDiametric * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimDiametric * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimDiametric * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimDiametric * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimDiametric * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimDiametric * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimDiametric * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimDiametric * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimDiametric * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimDiametric * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimDiametric * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimDiametric * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimDiametric * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimDiametric * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimDiametric * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimDiametric * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimDiametric * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLength )( 
            IAcadDimDiametric * This,
            /* [in] */ double Length);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimDiametric * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimDiametric * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterType )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimCenterType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterType )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimCenterType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterMarkSize )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterMarkSize )( 
            IAcadDimDiametric * This,
            /* [in] */ double Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimDiametric * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimDiametric * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDimDiametric * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDimDiametric * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDimDiametric * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDimDiametric * This,
            /* [in] */ BSTR bstrDescription);
        
        END_INTERFACE
    } IAcadDimDiametricVtbl;

    interface IAcadDimDiametric
    {
        CONST_VTBL struct IAcadDimDiametricVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimDiametric_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimDiametric_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimDiametric_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimDiametric_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimDiametric_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimDiametric_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimDiametric_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimDiametric_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimDiametric_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimDiametric_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimDiametric_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimDiametric_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimDiametric_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimDiametric_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimDiametric_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimDiametric_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimDiametric_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimDiametric_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimDiametric_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimDiametric_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimDiametric_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimDiametric_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimDiametric_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimDiametric_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimDiametric_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimDiametric_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimDiametric_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimDiametric_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimDiametric_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimDiametric_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimDiametric_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimDiametric_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimDiametric_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimDiametric_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimDiametric_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimDiametric_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimDiametric_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimDiametric_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimDiametric_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimDiametric_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimDiametric_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimDiametric_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimDiametric_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimDiametric_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimDiametric_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimDiametric_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimDiametric_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimDiametric_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimDiametric_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimDiametric_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimDiametric_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimDiametric_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimDiametric_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimDiametric_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimDiametric_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimDiametric_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimDiametric_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimDiametric_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimDiametric_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimDiametric_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimDiametric_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimDiametric_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimDiametric_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimDiametric_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimDiametric_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimDiametric_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimDiametric_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimDiametric_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimDiametric_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimDiametric_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimDiametric_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimDiametric_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimDiametric_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimDiametric_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimDiametric_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimDiametric_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimDiametric_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimDiametric_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimDiametric_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimDiametric_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimDiametric_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimDiametric_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimDiametric_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimDiametric_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimDiametric_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimDiametric_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimDiametric_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimDiametric_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimDiametric_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimDiametric_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimDiametric_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimDiametric_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimDiametric_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimDiametric_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimDiametric_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimDiametric_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimDiametric_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimDiametric_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimDiametric_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimDiametric_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimDiametric_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimDiametric_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimDiametric_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimDiametric_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimDiametric_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimDiametric_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimDiametric_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimDiametric_put_LeaderLength(This,Length)	\
    ( (This)->lpVtbl -> put_LeaderLength(This,Length) ) 

#define IAcadDimDiametric_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimDiametric_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimDiametric_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimDiametric_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimDiametric_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimDiametric_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimDiametric_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimDiametric_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimDiametric_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimDiametric_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimDiametric_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimDiametric_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimDiametric_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimDiametric_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimDiametric_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimDiametric_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimDiametric_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimDiametric_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimDiametric_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimDiametric_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimDiametric_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimDiametric_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimDiametric_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimDiametric_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimDiametric_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimDiametric_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimDiametric_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimDiametric_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimDiametric_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimDiametric_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimDiametric_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimDiametric_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimDiametric_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimDiametric_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimDiametric_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimDiametric_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimDiametric_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimDiametric_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimDiametric_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimDiametric_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimDiametric_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimDiametric_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimDiametric_get_CenterType(This,Type)	\
    ( (This)->lpVtbl -> get_CenterType(This,Type) ) 

#define IAcadDimDiametric_put_CenterType(This,Type)	\
    ( (This)->lpVtbl -> put_CenterType(This,Type) ) 

#define IAcadDimDiametric_get_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> get_CenterMarkSize(This,Type) ) 

#define IAcadDimDiametric_put_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> put_CenterMarkSize(This,Type) ) 

#define IAcadDimDiametric_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimDiametric_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimDiametric_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimDiametric_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimDiametric_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimDiametric_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimDiametric_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimDiametric_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDimDiametric_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDimDiametric_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDimDiametric_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDimDiametric_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimDiametric_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimDiametric_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimDiametric_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimDiametric_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimDiametric_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimDiametric_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimDiametric_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimDiametric_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimDiametric_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDimDiametric_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDimDiametric_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDimDiametric_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDimDiametric_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimDiametric_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimDiametric_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDimDiametric_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDimDiametric_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimDiametric_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltTextPrefix_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimDiametric_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltTextPrefix_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimDiametric_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltTextSuffix_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimDiametric_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltTextSuffix_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimDiametric_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimensionLineColor_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimDiametric_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimensionLineColor_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimDiametric_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimDiametric_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimDiametric_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_FractionFormat_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimDiametric_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_FractionFormat_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimDiametric_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Fit_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimDiametric_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_Fit_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimDiametric_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_LinearScaleFactor_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimDiametric_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_LinearScaleFactor_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimDiametric_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_UnitsFormat_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimDiametric_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_UnitsFormat_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimDiametric_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_RoundDistance_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimDiametric_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_RoundDistance_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimDiametric_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimLine1Suppress_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimDiametric_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimLine1Suppress_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimDiametric_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimLine2Suppress_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimDiametric_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimLine2Suppress_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimDiametric_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_TextInsideAlign_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimDiametric_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_TextInsideAlign_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimDiametric_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_TextInside_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimDiametric_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_TextInside_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimDiametric_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_ForceLineInside_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimDiametric_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_ForceLineInside_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimDiametric_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_TextOutsideAlign_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimDiametric_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_TextOutsideAlign_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimDiametric_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_CenterType_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimCenterType *Type);


void __RPC_STUB IAcadDimDiametric_get_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_CenterType_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimCenterType Type);


void __RPC_STUB IAcadDimDiametric_put_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_CenterMarkSize_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ double *Type);


void __RPC_STUB IAcadDimDiametric_get_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_CenterMarkSize_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ double Type);


void __RPC_STUB IAcadDimDiametric_put_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_SuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_SuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_SuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_SuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimDiametric_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimDiametric_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimensionLineWeight_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimDiametric_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimensionLineWeight_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimDiametric_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_ArrowheadSize_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimDiametric_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_ArrowheadSize_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimDiametric_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Arrowhead1Type_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimDiametric_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_Arrowhead1Type_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimDiametric_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Arrowhead2Type_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimDiametric_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_Arrowhead2Type_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimDiametric_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Measurement_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimDiametric_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Arrowhead1Block_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimDiametric_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_Arrowhead1Block_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimDiametric_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_Arrowhead2Block_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimDiametric_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_Arrowhead2Block_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimDiametric_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimensionLinetype_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimDiametric_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimensionLinetype_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimDiametric_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrForm_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDimDiametric_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrForm_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDimDiametric_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrReference_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDimDiametric_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrReference_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDimDiametric_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrName_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDimDiametric_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrName_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDimDiametric_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrExpression_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDimDiametric_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrExpression_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDimDiametric_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrValue_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDimDiametric_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrValue_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDimDiametric_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_get_DimConstrDesc_Proxy( 
    IAcadDimDiametric * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDimDiametric_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimDiametric_put_DimConstrDesc_Proxy( 
    IAcadDimDiametric * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDimDiametric_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimDiametric_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimDiametric,0x3DD1037D,0xA173,0x4043,0xB9,0xF6,0xE3,0x31,0xFE,0x5B,0x0B,0xF9);

#ifdef __cplusplus

class DECLSPEC_UUID("3DD1037D-A173-4043-B9F6-E331FE5B0BF9")
AcadDimDiametric;
#endif

#ifndef __IAcadDimOrdinate_INTERFACE_DEFINED__
#define __IAcadDimOrdinate_INTERFACE_DEFINED__

/* interface IAcadDimOrdinate */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimOrdinate,0x69FE22CF,0x8D37,0x4817,0x85,0x1F,0xB2,0x21,0x37,0x25,0x43,0xD6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("69FE22CF-8D37-4817-851F-B221372543D6")
    IAcadDimOrdinate : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimOrdinateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimOrdinate * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimOrdinate * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimOrdinate * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimOrdinate * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimOrdinate * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimOrdinate * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimOrdinate * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimOrdinate * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimOrdinate * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimOrdinate * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimOrdinate * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimOrdinate * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimOrdinate * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimOrdinate * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimOrdinate * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimOrdinate * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimOrdinate * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimOrdinate * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimOrdinate * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimOrdinate * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimOrdinate * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDimOrdinate * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimOrdinate * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDimOrdinate * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimOrdinate * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDimOrdinate * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDimOrdinate * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsSuffix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsSuffix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsFactor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsFactor )( 
            IAcadDimOrdinate * This,
            /* [in] */ double factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsSuffix )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsSuffix )( 
            IAcadDimOrdinate * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsFactor )( 
            IAcadDimOrdinate * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsFactor )( 
            IAcadDimOrdinate * This,
            /* [in] */ double factor);
        
        END_INTERFACE
    } IAcadDimOrdinateVtbl;

    interface IAcadDimOrdinate
    {
        CONST_VTBL struct IAcadDimOrdinateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimOrdinate_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimOrdinate_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimOrdinate_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimOrdinate_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimOrdinate_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimOrdinate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimOrdinate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimOrdinate_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimOrdinate_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimOrdinate_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimOrdinate_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimOrdinate_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimOrdinate_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimOrdinate_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimOrdinate_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimOrdinate_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimOrdinate_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimOrdinate_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimOrdinate_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimOrdinate_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimOrdinate_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimOrdinate_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimOrdinate_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimOrdinate_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimOrdinate_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimOrdinate_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimOrdinate_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimOrdinate_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimOrdinate_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimOrdinate_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimOrdinate_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimOrdinate_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimOrdinate_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimOrdinate_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimOrdinate_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimOrdinate_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimOrdinate_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimOrdinate_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimOrdinate_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimOrdinate_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimOrdinate_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimOrdinate_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimOrdinate_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimOrdinate_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimOrdinate_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimOrdinate_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimOrdinate_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimOrdinate_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimOrdinate_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimOrdinate_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimOrdinate_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimOrdinate_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimOrdinate_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimOrdinate_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimOrdinate_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimOrdinate_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimOrdinate_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimOrdinate_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimOrdinate_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimOrdinate_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimOrdinate_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimOrdinate_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimOrdinate_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimOrdinate_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimOrdinate_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimOrdinate_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimOrdinate_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimOrdinate_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimOrdinate_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimOrdinate_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimOrdinate_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimOrdinate_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimOrdinate_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimOrdinate_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimOrdinate_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimOrdinate_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimOrdinate_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimOrdinate_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimOrdinate_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimOrdinate_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimOrdinate_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimOrdinate_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimOrdinate_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimOrdinate_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimOrdinate_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimOrdinate_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimOrdinate_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimOrdinate_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimOrdinate_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimOrdinate_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimOrdinate_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimOrdinate_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimOrdinate_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimOrdinate_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimOrdinate_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimOrdinate_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimOrdinate_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimOrdinate_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimOrdinate_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimOrdinate_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimOrdinate_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimOrdinate_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimOrdinate_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimOrdinate_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimOrdinate_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimOrdinate_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimOrdinate_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimOrdinate_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimOrdinate_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimOrdinate_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimOrdinate_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimOrdinate_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimOrdinate_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimOrdinate_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimOrdinate_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimOrdinate_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimOrdinate_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimOrdinate_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimOrdinate_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimOrdinate_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimOrdinate_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimOrdinate_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimOrdinate_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimOrdinate_get_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Type) ) 

#define IAcadDimOrdinate_put_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Type) ) 

#define IAcadDimOrdinate_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimOrdinate_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimOrdinate_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimOrdinate_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimOrdinate_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimOrdinate_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimOrdinate_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimOrdinate_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimOrdinate_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimOrdinate_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimOrdinate_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimOrdinate_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimOrdinate_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDimOrdinate_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDimOrdinate_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimOrdinate_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimOrdinate_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimOrdinate_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimOrdinate_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimOrdinate_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimOrdinate_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimOrdinate_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimOrdinate_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimOrdinate_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimOrdinate_get_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimOrdinate_put_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimOrdinate_get_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_SubUnitsFactor(This,factor) ) 

#define IAcadDimOrdinate_put_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_SubUnitsFactor(This,factor) ) 

#define IAcadDimOrdinate_get_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimOrdinate_put_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimOrdinate_get_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_AltSubUnitsFactor(This,factor) ) 

#define IAcadDimOrdinate_put_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_AltSubUnitsFactor(This,factor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltTextPrefix_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimOrdinate_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltTextSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimOrdinate_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltTextSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimOrdinate_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ExtensionLineColor_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimOrdinate_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ExtensionLineColor_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimOrdinate_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimOrdinate_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimOrdinate_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_FractionFormat_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimOrdinate_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_FractionFormat_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimOrdinate_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_LinearScaleFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimOrdinate_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_LinearScaleFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimOrdinate_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_UnitsFormat_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimOrdinate_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_UnitsFormat_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimOrdinate_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ExtensionLineWeight_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDimOrdinate_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ExtensionLineWeight_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDimOrdinate_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_RoundDistance_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimOrdinate_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_RoundDistance_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimOrdinate_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ExtensionLineOffset_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDimOrdinate_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ExtensionLineOffset_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDimOrdinate_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_SuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_SuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_SuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_SuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimOrdinate_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimOrdinate_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ArrowheadSize_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimOrdinate_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ArrowheadSize_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimOrdinate_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_Measurement_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimOrdinate_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDimOrdinate_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDimOrdinate_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_ExtLineFixedLen_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDimOrdinate_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_ExtLineFixedLen_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDimOrdinate_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_SubUnitsSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimOrdinate_get_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_SubUnitsSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimOrdinate_put_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_SubUnitsFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimOrdinate_get_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_SubUnitsFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimOrdinate_put_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSubUnitsSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimOrdinate_get_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSubUnitsSuffix_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimOrdinate_put_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_get_AltSubUnitsFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimOrdinate_get_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimOrdinate_put_AltSubUnitsFactor_Proxy( 
    IAcadDimOrdinate * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimOrdinate_put_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimOrdinate_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimOrdinate,0x1A53E8C0,0x6387,0x4CA9,0x89,0xD9,0x88,0xB1,0x37,0x0C,0xCB,0x0A);

#ifdef __cplusplus

class DECLSPEC_UUID("1A53E8C0-6387-4CA9-89D9-88B1370CCB0A")
AcadDimOrdinate;
#endif

#ifndef __IAcadDimRadial_INTERFACE_DEFINED__
#define __IAcadDimRadial_INTERFACE_DEFINED__

/* interface IAcadDimRadial */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimRadial,0x48D24380,0x73C1,0x467D,0xAE,0x26,0xDD,0x2F,0xE5,0x5F,0xBB,0x05);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("48D24380-73C1-467D-AE26-DD2FE55FBB05")
    IAcadDimRadial : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_LeaderLength( 
            /* [in] */ double Length) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterType( 
            /* [retval][out] */ AcDimCenterType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterType( 
            /* [in] */ AcDimCenterType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterMarkSize( 
            /* [retval][out] */ double *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterMarkSize( 
            /* [in] */ double Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineSuppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimRadialVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimRadial * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimRadial * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimRadial * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimRadial * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimRadial * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimRadial * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimRadial * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimRadial * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimRadial * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimRadial * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimRadial * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimRadial * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimRadial * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimRadial * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimRadial * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimRadial * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimRadial * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimRadial * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimRadial * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimRadial * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimRadial * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimRadial * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimRadial * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimRadial * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimRadial * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimRadial * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimRadial * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimRadial * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LeaderLength )( 
            IAcadDimRadial * This,
            /* [in] */ double Length);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimRadial * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterType )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimCenterType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterType )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimCenterType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterMarkSize )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterMarkSize )( 
            IAcadDimRadial * This,
            /* [in] */ double Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimRadial * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineSuppress )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineSuppress )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimRadial * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimRadial * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimRadial * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadType )( 
            IAcadDimRadial * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadType )( 
            IAcadDimRadial * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimRadial * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadBlock )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadBlock )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDimRadial * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDimRadial * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDimRadial * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDimRadial * This,
            /* [in] */ BSTR bstrDescription);
        
        END_INTERFACE
    } IAcadDimRadialVtbl;

    interface IAcadDimRadial
    {
        CONST_VTBL struct IAcadDimRadialVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimRadial_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimRadial_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimRadial_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimRadial_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimRadial_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimRadial_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimRadial_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimRadial_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimRadial_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimRadial_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimRadial_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimRadial_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimRadial_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimRadial_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimRadial_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimRadial_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimRadial_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimRadial_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimRadial_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimRadial_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimRadial_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimRadial_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimRadial_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimRadial_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimRadial_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimRadial_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimRadial_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimRadial_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimRadial_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimRadial_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimRadial_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimRadial_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimRadial_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimRadial_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimRadial_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimRadial_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimRadial_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimRadial_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimRadial_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimRadial_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimRadial_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimRadial_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimRadial_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimRadial_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimRadial_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRadial_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRadial_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimRadial_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimRadial_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimRadial_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimRadial_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimRadial_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimRadial_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimRadial_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimRadial_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimRadial_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimRadial_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimRadial_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimRadial_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimRadial_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimRadial_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimRadial_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimRadial_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimRadial_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimRadial_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimRadial_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimRadial_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimRadial_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimRadial_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimRadial_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimRadial_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimRadial_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimRadial_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimRadial_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimRadial_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimRadial_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimRadial_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimRadial_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimRadial_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimRadial_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimRadial_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimRadial_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimRadial_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimRadial_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimRadial_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimRadial_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRadial_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRadial_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRadial_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRadial_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimRadial_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimRadial_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimRadial_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimRadial_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimRadial_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimRadial_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRadial_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRadial_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimRadial_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimRadial_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimRadial_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimRadial_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimRadial_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimRadial_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimRadial_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimRadial_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimRadial_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimRadial_put_LeaderLength(This,Length)	\
    ( (This)->lpVtbl -> put_LeaderLength(This,Length) ) 

#define IAcadDimRadial_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimRadial_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimRadial_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRadial_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRadial_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimRadial_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimRadial_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimRadial_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimRadial_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRadial_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRadial_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimRadial_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimRadial_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRadial_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRadial_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRadial_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRadial_get_CenterType(This,Type)	\
    ( (This)->lpVtbl -> get_CenterType(This,Type) ) 

#define IAcadDimRadial_put_CenterType(This,Type)	\
    ( (This)->lpVtbl -> put_CenterType(This,Type) ) 

#define IAcadDimRadial_get_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> get_CenterMarkSize(This,Type) ) 

#define IAcadDimRadial_put_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> put_CenterMarkSize(This,Type) ) 

#define IAcadDimRadial_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimRadial_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimRadial_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRadial_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRadial_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimRadial_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimRadial_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimRadial_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimRadial_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimRadial_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimRadial_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimRadial_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimRadial_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimRadial_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimRadial_get_DimLineSuppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLineSuppress(This,bSuppress) ) 

#define IAcadDimRadial_put_DimLineSuppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLineSuppress(This,bSuppress) ) 

#define IAcadDimRadial_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimRadial_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimRadial_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimRadial_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimRadial_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimRadial_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimRadial_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRadial_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRadial_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadial_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadial_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadial_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadial_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimRadial_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimRadial_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimRadial_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimRadial_get_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> get_ArrowheadType(This,Type) ) 

#define IAcadDimRadial_put_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> put_ArrowheadType(This,Type) ) 

#define IAcadDimRadial_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimRadial_get_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName) ) 

#define IAcadDimRadial_put_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName) ) 

#define IAcadDimRadial_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimRadial_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimRadial_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimRadial_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimRadial_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDimRadial_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDimRadial_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDimRadial_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDimRadial_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimRadial_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimRadial_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDimRadial_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDimRadial_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimRadial_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltTextPrefix_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimRadial_get_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltTextPrefix_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRadial_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltTextSuffix_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimRadial_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltTextSuffix_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRadial_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_CenterType_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimCenterType *Type);


void __RPC_STUB IAcadDimRadial_get_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_CenterType_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimCenterType Type);


void __RPC_STUB IAcadDimRadial_put_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_CenterMarkSize_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ double *Type);


void __RPC_STUB IAcadDimRadial_get_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_CenterMarkSize_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ double Type);


void __RPC_STUB IAcadDimRadial_put_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimensionLineColor_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimRadial_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimensionLineColor_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimRadial_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimRadial_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimRadial_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_FractionFormat_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimRadial_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_FractionFormat_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimRadial_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_Fit_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimRadial_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_Fit_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimRadial_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_LinearScaleFactor_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimRadial_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_LinearScaleFactor_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimRadial_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_UnitsFormat_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimRadial_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_UnitsFormat_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimRadial_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_RoundDistance_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimRadial_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_RoundDistance_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimRadial_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimLineSuppress_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRadial_get_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimLineSuppress_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRadial_put_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_TextInsideAlign_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadial_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_TextInsideAlign_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadial_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_TextInside_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadial_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_TextInside_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadial_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ForceLineInside_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadial_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ForceLineInside_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadial_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_TextOutsideAlign_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadial_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_TextOutsideAlign_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadial_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_SuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_SuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_SuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_SuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadial_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadial_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimensionLineWeight_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimRadial_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimensionLineWeight_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimRadial_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ArrowheadSize_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimRadial_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ArrowheadSize_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimRadial_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ArrowheadType_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimRadial_get_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ArrowheadType_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimRadial_put_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_Measurement_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimRadial_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_ArrowheadBlock_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimRadial_get_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_ArrowheadBlock_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimRadial_put_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimensionLinetype_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimRadial_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimensionLinetype_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimRadial_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrForm_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDimRadial_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrForm_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDimRadial_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrReference_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDimRadial_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrReference_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDimRadial_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrName_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDimRadial_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrName_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDimRadial_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrExpression_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDimRadial_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrExpression_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDimRadial_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrValue_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDimRadial_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrValue_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDimRadial_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_get_DimConstrDesc_Proxy( 
    IAcadDimRadial * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDimRadial_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadial_put_DimConstrDesc_Proxy( 
    IAcadDimRadial * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDimRadial_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimRadial_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimRadial,0xD08B65B3,0x3909,0x44A1,0x95,0xFC,0x5B,0x8A,0x83,0x0F,0x0A,0x76);

#ifdef __cplusplus

class DECLSPEC_UUID("D08B65B3-3909-44A1-95FC-5B8A830F0A76")
AcadDimRadial;
#endif

#ifndef __IAcadDimRotated_INTERFACE_DEFINED__
#define __IAcadDimRotated_INTERFACE_DEFINED__

/* interface IAcadDimRotated */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimRotated,0xEC114F35,0x4908,0x4D94,0xB8,0xE8,0xA0,0x31,0xE9,0x7E,0x28,0x92);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("EC114F35-4908-4D94-B8E8-A031E97E2892")
    IAcadDimRotated : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ AcDimHorizontalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ AcDimHorizontalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimRotatedVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimRotated * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimRotated * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimRotated * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimRotated * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimRotated * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimRotated * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimRotated * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimRotated * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimRotated * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimRotated * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimRotated * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimRotated * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimRotated * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimRotated * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimRotated * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimRotated * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimRotated * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimRotated * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimRotated * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimRotated * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimRotated * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimRotated * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimRotated * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimRotated * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimRotated * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimRotated * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimRotated * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimRotated * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimRotated * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineExtend )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineExtend )( 
            IAcadDimRotated * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineExtend )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineExtend )( 
            IAcadDimRotated * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalTextPosition )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimHorizontalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalTextPosition )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimHorizontalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimRotated * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Suppress )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Suppress )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Suppress )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Suppress )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineInside )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineInside )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDimRotated * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimRotated * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimRotated * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimRotated * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDimRotated * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDimRotated * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Linetype )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Linetype )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Linetype )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Linetype )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDimRotated * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDimRotated * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDimRotated * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsSuffix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsSuffix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsFactor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsFactor )( 
            IAcadDimRotated * This,
            /* [in] */ double factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsSuffix )( 
            IAcadDimRotated * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsSuffix )( 
            IAcadDimRotated * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsFactor )( 
            IAcadDimRotated * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsFactor )( 
            IAcadDimRotated * This,
            /* [in] */ double factor);
        
        END_INTERFACE
    } IAcadDimRotatedVtbl;

    interface IAcadDimRotated
    {
        CONST_VTBL struct IAcadDimRotatedVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimRotated_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimRotated_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimRotated_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimRotated_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimRotated_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimRotated_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimRotated_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimRotated_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimRotated_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimRotated_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimRotated_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimRotated_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimRotated_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimRotated_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimRotated_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimRotated_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimRotated_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimRotated_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimRotated_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimRotated_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimRotated_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimRotated_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimRotated_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimRotated_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimRotated_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimRotated_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimRotated_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimRotated_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimRotated_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimRotated_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimRotated_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimRotated_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimRotated_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimRotated_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimRotated_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimRotated_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimRotated_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimRotated_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimRotated_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimRotated_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimRotated_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimRotated_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimRotated_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimRotated_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimRotated_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRotated_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRotated_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimRotated_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimRotated_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimRotated_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimRotated_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimRotated_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimRotated_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimRotated_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimRotated_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimRotated_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimRotated_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimRotated_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimRotated_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimRotated_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimRotated_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimRotated_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimRotated_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimRotated_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimRotated_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimRotated_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimRotated_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimRotated_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimRotated_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimRotated_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimRotated_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimRotated_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimRotated_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimRotated_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimRotated_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimRotated_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimRotated_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimRotated_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimRotated_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimRotated_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimRotated_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimRotated_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimRotated_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimRotated_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimRotated_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimRotated_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRotated_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRotated_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRotated_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRotated_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimRotated_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimRotated_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimRotated_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimRotated_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimRotated_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimRotated_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRotated_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRotated_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimRotated_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimRotated_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimRotated_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimRotated_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimRotated_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimRotated_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimRotated_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimRotated_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimRotated_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimRotated_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimRotated_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimRotated_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRotated_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRotated_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimRotated_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimRotated_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimRotated_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimRotated_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRotated_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRotated_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimRotated_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimRotated_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRotated_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRotated_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRotated_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRotated_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimRotated_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimRotated_get_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Type) ) 

#define IAcadDimRotated_put_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Type) ) 

#define IAcadDimRotated_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRotated_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRotated_get_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_DimensionLineExtend(This,extend) ) 

#define IAcadDimRotated_put_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_DimensionLineExtend(This,extend) ) 

#define IAcadDimRotated_get_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_ExtensionLineExtend(This,extend) ) 

#define IAcadDimRotated_put_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_ExtensionLineExtend(This,extend) ) 

#define IAcadDimRotated_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimRotated_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimRotated_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimRotated_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimRotated_get_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_HorizontalTextPosition(This,type) ) 

#define IAcadDimRotated_put_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_HorizontalTextPosition(This,type) ) 

#define IAcadDimRotated_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimRotated_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimRotated_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimRotated_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimRotated_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimRotated_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimRotated_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimRotated_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimRotated_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimRotated_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimRotated_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimRotated_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimRotated_get_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimRotated_put_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimRotated_get_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimRotated_put_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimRotated_get_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_DimLineInside(This,bInside) ) 

#define IAcadDimRotated_put_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_DimLineInside(This,bInside) ) 

#define IAcadDimRotated_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimRotated_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimRotated_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimRotated_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimRotated_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimRotated_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimRotated_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRotated_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRotated_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDimRotated_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDimRotated_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRotated_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRotated_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRotated_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRotated_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimRotated_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimRotated_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimRotated_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimRotated_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDimRotated_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDimRotated_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDimRotated_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDimRotated_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimRotated_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimRotated_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimRotated_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimRotated_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimRotated_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimRotated_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimRotated_get_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimRotated_put_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimRotated_get_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimRotated_put_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimRotated_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimRotated_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimRotated_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimRotated_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimRotated_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimRotated_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDimRotated_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDimRotated_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDimRotated_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDimRotated_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDimRotated_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimRotated_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDimRotated_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDimRotated_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDimRotated_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimRotated_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDimRotated_get_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimRotated_put_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimRotated_get_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_SubUnitsFactor(This,factor) ) 

#define IAcadDimRotated_put_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_SubUnitsFactor(This,factor) ) 

#define IAcadDimRotated_get_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimRotated_put_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimRotated_get_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_AltSubUnitsFactor(This,factor) ) 

#define IAcadDimRotated_put_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_AltSubUnitsFactor(This,factor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltTextPrefix_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRotated_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltTextSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimRotated_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltTextSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRotated_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimensionLineColor_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimRotated_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimensionLineColor_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimRotated_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtensionLineColor_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimRotated_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtensionLineColor_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimRotated_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimRotated_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimRotated_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimensionLineExtend_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimRotated_get_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimensionLineExtend_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimRotated_put_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtensionLineExtend_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimRotated_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtensionLineExtend_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimRotated_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Fit_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimRotated_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_Fit_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimRotated_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_FractionFormat_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimRotated_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_FractionFormat_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimRotated_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_HorizontalTextPosition_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimHorizontalJustification *type);


void __RPC_STUB IAcadDimRotated_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_HorizontalTextPosition_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimHorizontalJustification type);


void __RPC_STUB IAcadDimRotated_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_LinearScaleFactor_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimRotated_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_LinearScaleFactor_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimRotated_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_UnitsFormat_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimRotated_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_UnitsFormat_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimRotated_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtensionLineWeight_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDimRotated_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtensionLineWeight_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDimRotated_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_RoundDistance_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimRotated_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_RoundDistance_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimRotated_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimLine1Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRotated_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimLine1Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRotated_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimLine2Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRotated_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimLine2Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRotated_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLine1Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRotated_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLine1Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRotated_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLine2Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRotated_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLine2Suppress_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRotated_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimLineInside_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRotated_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimLineInside_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRotated_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_TextInsideAlign_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRotated_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_TextInsideAlign_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRotated_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_TextInside_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRotated_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_TextInside_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRotated_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ForceLineInside_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRotated_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ForceLineInside_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRotated_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_TextOutsideAlign_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRotated_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_TextOutsideAlign_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRotated_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtensionLineOffset_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDimRotated_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtensionLineOffset_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDimRotated_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_SuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_SuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_SuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_SuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRotated_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRotated_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimensionLineWeight_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimRotated_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimensionLineWeight_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimRotated_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ArrowheadSize_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimRotated_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ArrowheadSize_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimRotated_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Arrowhead1Type_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimRotated_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_Arrowhead1Type_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimRotated_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Arrowhead2Type_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimRotated_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_Arrowhead2Type_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimRotated_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Measurement_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimRotated_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Arrowhead1Block_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimRotated_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_Arrowhead1Block_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimRotated_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_Arrowhead2Block_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimRotated_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_Arrowhead2Block_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimRotated_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimensionLinetype_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimRotated_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimensionLinetype_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimRotated_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLine1Linetype_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimRotated_get_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLine1Linetype_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimRotated_put_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLine2Linetype_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimRotated_get_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLine2Linetype_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimRotated_put_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDimRotated_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDimRotated_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_ExtLineFixedLen_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDimRotated_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_ExtLineFixedLen_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDimRotated_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrForm_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDimRotated_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrForm_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDimRotated_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrReference_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDimRotated_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrReference_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDimRotated_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrName_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDimRotated_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrName_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDimRotated_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrExpression_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDimRotated_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrExpression_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDimRotated_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrValue_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDimRotated_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrValue_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDimRotated_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_DimConstrDesc_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDimRotated_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_DimConstrDesc_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDimRotated_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_SubUnitsSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimRotated_get_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_SubUnitsSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimRotated_put_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_SubUnitsFactor_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimRotated_get_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_SubUnitsFactor_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimRotated_put_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSubUnitsSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimRotated_get_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSubUnitsSuffix_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimRotated_put_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_get_AltSubUnitsFactor_Proxy( 
    IAcadDimRotated * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimRotated_get_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRotated_put_AltSubUnitsFactor_Proxy( 
    IAcadDimRotated * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimRotated_put_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimRotated_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimRotated,0x0AA15FCA,0x2D73,0x4DDD,0x82,0x86,0xF6,0x5A,0xA1,0x62,0x1C,0xE4);

#ifdef __cplusplus

class DECLSPEC_UUID("0AA15FCA-2D73-4DDD-8286-F65AA1621CE4")
AcadDimRotated;
#endif

#ifndef __IAcadDim3PointAngular_INTERFACE_DEFINED__
#define __IAcadDim3PointAngular_INTERFACE_DEFINED__

/* interface IAcadDim3PointAngular */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDim3PointAngular,0x9A619FB6,0xFECB,0x4D5F,0xAD,0x3D,0xB9,0x95,0x7B,0x43,0x82,0x68);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9A619FB6-FECB-4D5F-AD3D-B9957B438268")
    IAcadDim3PointAngular : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1EndPoint( 
            /* [retval][out] */ VARIANT *xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1EndPoint( 
            /* [in] */ VARIANT xLine1Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2EndPoint( 
            /* [retval][out] */ VARIANT *xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2EndPoint( 
            /* [in] */ VARIANT xLine2Point) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_AngleVertex( 
            /* [retval][out] */ VARIANT *AngleVertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_AngleVertex( 
            /* [in] */ VARIANT AngleVertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextPrecision( 
            /* [retval][out] */ AcDimPrecision *AngleVertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextPrecision( 
            /* [in] */ AcDimPrecision AngleVertex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AngleFormat( 
            /* [retval][out] */ AcAngleUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AngleFormat( 
            /* [in] */ AcAngleUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ AcDimHorizontalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ AcDimHorizontalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ ACAD_ANGLE *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrForm( 
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrForm( 
            /* [in] */ VARIANT_BOOL bIsDynamic) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrReference( 
            /* [retval][out] */ VARIANT_BOOL *bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrReference( 
            /* [in] */ VARIANT_BOOL bIsReference) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrName( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrName( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrExpression( 
            /* [retval][out] */ BSTR *bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrExpression( 
            /* [in] */ BSTR bstrExpression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrValue( 
            /* [retval][out] */ BSTR *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrValue( 
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimConstrDesc( 
            /* [retval][out] */ BSTR *bstrDescription) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimConstrDesc( 
            /* [in] */ BSTR bstrDescription) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDim3PointAngularVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDim3PointAngular * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDim3PointAngular * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDim3PointAngular * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDim3PointAngular * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDim3PointAngular * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDim3PointAngular * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDim3PointAngular * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDim3PointAngular * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDim3PointAngular * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDim3PointAngular * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDim3PointAngular * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDim3PointAngular * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDim3PointAngular * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDim3PointAngular * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1EndPoint )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT *xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1EndPoint )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT xLine1Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2EndPoint )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT *xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2EndPoint )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT xLine2Point);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AngleVertex )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT *AngleVertex);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AngleVertex )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT AngleVertex);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrecision )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimPrecision *AngleVertex);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrecision )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimPrecision AngleVertex);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AngleFormat )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcAngleUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AngleFormat )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcAngleUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineExtend )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineExtend )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalTextPosition )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimHorizontalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalTextPosition )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimHorizontalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Suppress )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Suppress )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Suppress )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Suppress )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineInside )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineInside )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDim3PointAngular * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDim3PointAngular * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ ACAD_ANGLE *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Linetype )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Linetype )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Linetype )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Linetype )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDim3PointAngular * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrForm )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrForm )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bIsDynamic);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrReference )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ VARIANT_BOOL *bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrReference )( 
            IAcadDim3PointAngular * This,
            /* [in] */ VARIANT_BOOL bIsReference);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrName )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrName )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrExpression )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrExpression )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR bstrExpression);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrValue )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *value);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrValue )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimConstrDesc )( 
            IAcadDim3PointAngular * This,
            /* [retval][out] */ BSTR *bstrDescription);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimConstrDesc )( 
            IAcadDim3PointAngular * This,
            /* [in] */ BSTR bstrDescription);
        
        END_INTERFACE
    } IAcadDim3PointAngularVtbl;

    interface IAcadDim3PointAngular
    {
        CONST_VTBL struct IAcadDim3PointAngularVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDim3PointAngular_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDim3PointAngular_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDim3PointAngular_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDim3PointAngular_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDim3PointAngular_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDim3PointAngular_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDim3PointAngular_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDim3PointAngular_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDim3PointAngular_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDim3PointAngular_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDim3PointAngular_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDim3PointAngular_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDim3PointAngular_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDim3PointAngular_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDim3PointAngular_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDim3PointAngular_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDim3PointAngular_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDim3PointAngular_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDim3PointAngular_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDim3PointAngular_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDim3PointAngular_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDim3PointAngular_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDim3PointAngular_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDim3PointAngular_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDim3PointAngular_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDim3PointAngular_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDim3PointAngular_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDim3PointAngular_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDim3PointAngular_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDim3PointAngular_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDim3PointAngular_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDim3PointAngular_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDim3PointAngular_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDim3PointAngular_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDim3PointAngular_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDim3PointAngular_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDim3PointAngular_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDim3PointAngular_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDim3PointAngular_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDim3PointAngular_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDim3PointAngular_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDim3PointAngular_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDim3PointAngular_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDim3PointAngular_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDim3PointAngular_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDim3PointAngular_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDim3PointAngular_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDim3PointAngular_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDim3PointAngular_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDim3PointAngular_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDim3PointAngular_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDim3PointAngular_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDim3PointAngular_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDim3PointAngular_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDim3PointAngular_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDim3PointAngular_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDim3PointAngular_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDim3PointAngular_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDim3PointAngular_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDim3PointAngular_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDim3PointAngular_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDim3PointAngular_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDim3PointAngular_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDim3PointAngular_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDim3PointAngular_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDim3PointAngular_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDim3PointAngular_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDim3PointAngular_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDim3PointAngular_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDim3PointAngular_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDim3PointAngular_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDim3PointAngular_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDim3PointAngular_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDim3PointAngular_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDim3PointAngular_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDim3PointAngular_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDim3PointAngular_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDim3PointAngular_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDim3PointAngular_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDim3PointAngular_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDim3PointAngular_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDim3PointAngular_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDim3PointAngular_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDim3PointAngular_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDim3PointAngular_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDim3PointAngular_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDim3PointAngular_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDim3PointAngular_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDim3PointAngular_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDim3PointAngular_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDim3PointAngular_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDim3PointAngular_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDim3PointAngular_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDim3PointAngular_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDim3PointAngular_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDim3PointAngular_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDim3PointAngular_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDim3PointAngular_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDim3PointAngular_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDim3PointAngular_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDim3PointAngular_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDim3PointAngular_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDim3PointAngular_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDim3PointAngular_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDim3PointAngular_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDim3PointAngular_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDim3PointAngular_get_ExtLine1EndPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> get_ExtLine1EndPoint(This,xLine1Point) ) 

#define IAcadDim3PointAngular_put_ExtLine1EndPoint(This,xLine1Point)	\
    ( (This)->lpVtbl -> put_ExtLine1EndPoint(This,xLine1Point) ) 

#define IAcadDim3PointAngular_get_ExtLine2EndPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> get_ExtLine2EndPoint(This,xLine2Point) ) 

#define IAcadDim3PointAngular_put_ExtLine2EndPoint(This,xLine2Point)	\
    ( (This)->lpVtbl -> put_ExtLine2EndPoint(This,xLine2Point) ) 

#define IAcadDim3PointAngular_get_AngleVertex(This,AngleVertex)	\
    ( (This)->lpVtbl -> get_AngleVertex(This,AngleVertex) ) 

#define IAcadDim3PointAngular_put_AngleVertex(This,AngleVertex)	\
    ( (This)->lpVtbl -> put_AngleVertex(This,AngleVertex) ) 

#define IAcadDim3PointAngular_get_TextPrecision(This,AngleVertex)	\
    ( (This)->lpVtbl -> get_TextPrecision(This,AngleVertex) ) 

#define IAcadDim3PointAngular_put_TextPrecision(This,AngleVertex)	\
    ( (This)->lpVtbl -> put_TextPrecision(This,AngleVertex) ) 

#define IAcadDim3PointAngular_get_AngleFormat(This,format)	\
    ( (This)->lpVtbl -> get_AngleFormat(This,format) ) 

#define IAcadDim3PointAngular_put_AngleFormat(This,format)	\
    ( (This)->lpVtbl -> put_AngleFormat(This,format) ) 

#define IAcadDim3PointAngular_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDim3PointAngular_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDim3PointAngular_get_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Type) ) 

#define IAcadDim3PointAngular_put_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Type) ) 

#define IAcadDim3PointAngular_get_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_ExtensionLineExtend(This,extend) ) 

#define IAcadDim3PointAngular_put_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_ExtensionLineExtend(This,extend) ) 

#define IAcadDim3PointAngular_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDim3PointAngular_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDim3PointAngular_get_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_HorizontalTextPosition(This,type) ) 

#define IAcadDim3PointAngular_put_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_HorizontalTextPosition(This,type) ) 

#define IAcadDim3PointAngular_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDim3PointAngular_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDim3PointAngular_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_get_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_put_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_get_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_put_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDim3PointAngular_get_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_DimLineInside(This,bInside) ) 

#define IAcadDim3PointAngular_put_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_DimLineInside(This,bInside) ) 

#define IAcadDim3PointAngular_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDim3PointAngular_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDim3PointAngular_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDim3PointAngular_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDim3PointAngular_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDim3PointAngular_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDim3PointAngular_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDim3PointAngular_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDim3PointAngular_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDim3PointAngular_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDim3PointAngular_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDim3PointAngular_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDim3PointAngular_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDim3PointAngular_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDim3PointAngular_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDim3PointAngular_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDim3PointAngular_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDim3PointAngular_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDim3PointAngular_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDim3PointAngular_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDim3PointAngular_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDim3PointAngular_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDim3PointAngular_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDim3PointAngular_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDim3PointAngular_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDim3PointAngular_get_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_put_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_get_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_put_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDim3PointAngular_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDim3PointAngular_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDim3PointAngular_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDim3PointAngular_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDim3PointAngular_get_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> get_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDim3PointAngular_put_DimConstrForm(This,bIsDynamic)	\
    ( (This)->lpVtbl -> put_DimConstrForm(This,bIsDynamic) ) 

#define IAcadDim3PointAngular_get_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> get_DimConstrReference(This,bIsReference) ) 

#define IAcadDim3PointAngular_put_DimConstrReference(This,bIsReference)	\
    ( (This)->lpVtbl -> put_DimConstrReference(This,bIsReference) ) 

#define IAcadDim3PointAngular_get_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> get_DimConstrName(This,bstrName) ) 

#define IAcadDim3PointAngular_put_DimConstrName(This,bstrName)	\
    ( (This)->lpVtbl -> put_DimConstrName(This,bstrName) ) 

#define IAcadDim3PointAngular_get_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> get_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDim3PointAngular_put_DimConstrExpression(This,bstrExpression)	\
    ( (This)->lpVtbl -> put_DimConstrExpression(This,bstrExpression) ) 

#define IAcadDim3PointAngular_get_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> get_DimConstrValue(This,value) ) 

#define IAcadDim3PointAngular_put_DimConstrValue(This,value)	\
    ( (This)->lpVtbl -> put_DimConstrValue(This,value) ) 

#define IAcadDim3PointAngular_get_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> get_DimConstrDesc(This,bstrDescription) ) 

#define IAcadDim3PointAngular_put_DimConstrDesc(This,bstrDescription)	\
    ( (This)->lpVtbl -> put_DimConstrDesc(This,bstrDescription) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtensionLineColor_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDim3PointAngular_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtensionLineExtend_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDim3PointAngular_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtensionLineExtend_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDim3PointAngular_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Fit_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDim3PointAngular_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_Fit_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDim3PointAngular_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_HorizontalTextPosition_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ AcDimHorizontalJustification *type);


void __RPC_STUB IAcadDim3PointAngular_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_HorizontalTextPosition_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ AcDimHorizontalJustification type);


void __RPC_STUB IAcadDim3PointAngular_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtensionLineWeight_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDim3PointAngular_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtensionLineWeight_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDim3PointAngular_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimLine1Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDim3PointAngular_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimLine1Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDim3PointAngular_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimLine2Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDim3PointAngular_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimLine2Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDim3PointAngular_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLine1Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLine1Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLine2Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLine2Suppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimLineInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDim3PointAngular_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimLineInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDim3PointAngular_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_TextInsideAlign_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDim3PointAngular_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_TextInsideAlign_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDim3PointAngular_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_TextInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDim3PointAngular_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_TextInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDim3PointAngular_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ForceLineInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDim3PointAngular_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ForceLineInside_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDim3PointAngular_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_TextOutsideAlign_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDim3PointAngular_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_TextOutsideAlign_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDim3PointAngular_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtensionLineOffset_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDim3PointAngular_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtensionLineOffset_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDim3PointAngular_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimensionLineWeight_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDim3PointAngular_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimensionLineWeight_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDim3PointAngular_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ArrowheadSize_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDim3PointAngular_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ArrowheadSize_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDim3PointAngular_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Arrowhead1Type_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDim3PointAngular_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_Arrowhead1Type_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDim3PointAngular_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Arrowhead2Type_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDim3PointAngular_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_Arrowhead2Type_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDim3PointAngular_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Measurement_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ ACAD_ANGLE *bVal);


void __RPC_STUB IAcadDim3PointAngular_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Arrowhead1Block_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDim3PointAngular_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_Arrowhead1Block_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDim3PointAngular_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_Arrowhead2Block_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDim3PointAngular_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_Arrowhead2Block_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDim3PointAngular_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimensionLinetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDim3PointAngular_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimensionLinetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDim3PointAngular_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLine1Linetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLine1Linetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLine2Linetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLine2Linetype_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_ExtLineFixedLen_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDim3PointAngular_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_ExtLineFixedLen_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDim3PointAngular_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrForm_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bIsDynamic);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrForm_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bIsDynamic);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrForm_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrReference_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ VARIANT_BOOL *bIsReference);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrReference_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ VARIANT_BOOL bIsReference);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrReference_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrName_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *bstrName);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrName_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrExpression_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *bstrExpression);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrExpression_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR bstrExpression);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrExpression_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrValue_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *value);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrValue_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR value);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrValue_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_get_DimConstrDesc_Proxy( 
    IAcadDim3PointAngular * This,
    /* [retval][out] */ BSTR *bstrDescription);


void __RPC_STUB IAcadDim3PointAngular_get_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDim3PointAngular_put_DimConstrDesc_Proxy( 
    IAcadDim3PointAngular * This,
    /* [in] */ BSTR bstrDescription);


void __RPC_STUB IAcadDim3PointAngular_put_DimConstrDesc_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDim3PointAngular_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDim3PointAngular,0x5961E7CD,0xEA16,0x4DBB,0xBE,0x46,0x34,0x07,0x05,0x78,0xA3,0xC3);

#ifdef __cplusplus

class DECLSPEC_UUID("5961E7CD-EA16-4DBB-BE46-34070578A3C3")
AcadDim3PointAngular;
#endif

#ifndef __IAcadDimArcLength_INTERFACE_DEFINED__
#define __IAcadDimArcLength_INTERFACE_DEFINED__

/* interface IAcadDimArcLength */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimArcLength,0x2189FDB8,0x53C3,0x425C,0xB0,0xEF,0x79,0x78,0x33,0x81,0x51,0x1A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2189FDB8-53C3-425C-B0EF-79783381511A")
    IAcadDimArcLength : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineExtend( 
            /* [retval][out] */ double *extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineExtend( 
            /* [in] */ double extend) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HorizontalTextPosition( 
            /* [retval][out] */ AcDimHorizontalJustification *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HorizontalTextPosition( 
            /* [in] */ AcDimHorizontalJustification type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT lweight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Suppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Suppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtensionLineOffset( 
            /* [retval][out] */ double *offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtensionLineOffset( 
            /* [in] */ double offset) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Type( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Type( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead1Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead1Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_Arrowhead2Block( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_Arrowhead2Block( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcPoint( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArcPoint( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Point( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Point( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Point( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Point( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterPoint( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterPoint( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Leader1Point( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Leader1Point( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Leader2Point( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Leader2Point( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IsPartial( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IsPartial( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcStartParam( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArcStartParam( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArcEndParam( 
            /* [retval][out] */ double *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArcEndParam( 
            /* [in] */ double newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HasLeader( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HasLeader( 
            /* [in] */ VARIANT_BOOL newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SymbolPosition( 
            /* [retval][out] */ AcDimArcLengthSymbol *position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SymbolPosition( 
            /* [in] */ AcDimArcLengthSymbol position) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine1Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine1Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLine2Linetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLine2Linetype( 
            /* [in] */ BSTR Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLenSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLenSuppress( 
            /* [in] */ VARIANT_BOOL bFixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ExtLineFixedLen( 
            /* [retval][out] */ double *FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ExtLineFixedLen( 
            /* [in] */ double FixedLen) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsSuffix( 
            /* [retval][out] */ BSTR *suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsSuffix( 
            /* [in] */ BSTR suffix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSubUnitsFactor( 
            /* [retval][out] */ double *factor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSubUnitsFactor( 
            /* [in] */ double factor) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimArcLengthVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimArcLength * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimArcLength * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimArcLength * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimArcLength * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimArcLength * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimArcLength * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimArcLength * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimArcLength * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimArcLength * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimArcLength * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimArcLength * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimArcLength * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimArcLength * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimArcLength * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimArcLength * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimArcLength * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimArcLength * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimArcLength * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimArcLength * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimArcLength * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineColor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineColor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineExtend )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineExtend )( 
            IAcadDimArcLength * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineExtend )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *extend);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineExtend )( 
            IAcadDimArcLength * This,
            /* [in] */ double extend);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HorizontalTextPosition )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimHorizontalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HorizontalTextPosition )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimHorizontalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineWeight )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_LWEIGHT *lweight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineWeight )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_LWEIGHT lweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimArcLength * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine1Suppress )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine1Suppress )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLine2Suppress )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLine2Suppress )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Suppress )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Suppress )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Suppress )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Suppress )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineInside )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineInside )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtensionLineOffset )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtensionLineOffset )( 
            IAcadDimArcLength * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimArcLength * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimArcLength * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Type )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Type )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Type )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Type )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead1Block )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead1Block )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Arrowhead2Block )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Arrowhead2Block )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcPoint )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArcPoint )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Point )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Point )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Point )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Point )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterPoint )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterPoint )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Leader1Point )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Leader1Point )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Leader2Point )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Leader2Point )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsPartial )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IsPartial )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcStartParam )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArcStartParam )( 
            IAcadDimArcLength * This,
            /* [in] */ double newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArcEndParam )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArcEndParam )( 
            IAcadDimArcLength * This,
            /* [in] */ double newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasLeader )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HasLeader )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SymbolPosition )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ AcDimArcLengthSymbol *position);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SymbolPosition )( 
            IAcadDimArcLength * This,
            /* [in] */ AcDimArcLengthSymbol position);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine1Linetype )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine1Linetype )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLine2Linetype )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLine2Linetype )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLenSuppress )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ VARIANT_BOOL *bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLenSuppress )( 
            IAcadDimArcLength * This,
            /* [in] */ VARIANT_BOOL bFixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ExtLineFixedLen )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ExtLineFixedLen )( 
            IAcadDimArcLength * This,
            /* [in] */ double FixedLen);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsSuffix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsSuffix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubUnitsFactor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SubUnitsFactor )( 
            IAcadDimArcLength * This,
            /* [in] */ double factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsSuffix )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsSuffix )( 
            IAcadDimArcLength * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSubUnitsFactor )( 
            IAcadDimArcLength * This,
            /* [retval][out] */ double *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSubUnitsFactor )( 
            IAcadDimArcLength * This,
            /* [in] */ double factor);
        
        END_INTERFACE
    } IAcadDimArcLengthVtbl;

    interface IAcadDimArcLength
    {
        CONST_VTBL struct IAcadDimArcLengthVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimArcLength_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimArcLength_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimArcLength_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimArcLength_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimArcLength_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimArcLength_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimArcLength_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimArcLength_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimArcLength_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimArcLength_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimArcLength_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimArcLength_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimArcLength_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimArcLength_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimArcLength_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimArcLength_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimArcLength_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimArcLength_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimArcLength_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimArcLength_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimArcLength_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimArcLength_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimArcLength_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimArcLength_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimArcLength_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimArcLength_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimArcLength_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimArcLength_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimArcLength_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimArcLength_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimArcLength_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimArcLength_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimArcLength_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimArcLength_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimArcLength_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimArcLength_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimArcLength_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimArcLength_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimArcLength_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimArcLength_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimArcLength_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimArcLength_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimArcLength_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimArcLength_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimArcLength_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimArcLength_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimArcLength_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimArcLength_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimArcLength_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimArcLength_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimArcLength_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimArcLength_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimArcLength_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimArcLength_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimArcLength_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimArcLength_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimArcLength_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimArcLength_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimArcLength_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimArcLength_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimArcLength_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimArcLength_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimArcLength_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimArcLength_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimArcLength_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimArcLength_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimArcLength_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimArcLength_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimArcLength_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimArcLength_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimArcLength_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimArcLength_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimArcLength_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimArcLength_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimArcLength_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimArcLength_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimArcLength_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimArcLength_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimArcLength_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimArcLength_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimArcLength_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimArcLength_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimArcLength_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimArcLength_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimArcLength_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimArcLength_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimArcLength_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimArcLength_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimArcLength_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimArcLength_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimArcLength_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimArcLength_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimArcLength_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimArcLength_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimArcLength_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimArcLength_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimArcLength_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimArcLength_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimArcLength_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimArcLength_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimArcLength_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimArcLength_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimArcLength_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimArcLength_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimArcLength_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimArcLength_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimArcLength_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimArcLength_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimArcLength_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimArcLength_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimArcLength_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimArcLength_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimArcLength_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimArcLength_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimArcLength_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimArcLength_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimArcLength_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimArcLength_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimArcLength_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimArcLength_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimArcLength_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimArcLength_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimArcLength_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimArcLength_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimArcLength_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimArcLength_get_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_ExtensionLineColor(This,Type) ) 

#define IAcadDimArcLength_put_ExtensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_ExtensionLineColor(This,Type) ) 

#define IAcadDimArcLength_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimArcLength_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimArcLength_get_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_DimensionLineExtend(This,extend) ) 

#define IAcadDimArcLength_put_DimensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_DimensionLineExtend(This,extend) ) 

#define IAcadDimArcLength_get_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> get_ExtensionLineExtend(This,extend) ) 

#define IAcadDimArcLength_put_ExtensionLineExtend(This,extend)	\
    ( (This)->lpVtbl -> put_ExtensionLineExtend(This,extend) ) 

#define IAcadDimArcLength_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimArcLength_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimArcLength_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimArcLength_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimArcLength_get_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_HorizontalTextPosition(This,type) ) 

#define IAcadDimArcLength_put_HorizontalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_HorizontalTextPosition(This,type) ) 

#define IAcadDimArcLength_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimArcLength_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimArcLength_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimArcLength_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimArcLength_get_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> get_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimArcLength_put_ExtensionLineWeight(This,lweight)	\
    ( (This)->lpVtbl -> put_ExtensionLineWeight(This,lweight) ) 

#define IAcadDimArcLength_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimArcLength_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimArcLength_get_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_put_DimLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine1Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_get_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_put_DimLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLine2Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_get_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_put_ExtLine1Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine1Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_get_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_put_ExtLine2Suppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_ExtLine2Suppress(This,bSuppress) ) 

#define IAcadDimArcLength_get_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_DimLineInside(This,bInside) ) 

#define IAcadDimArcLength_put_DimLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_DimLineInside(This,bInside) ) 

#define IAcadDimArcLength_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimArcLength_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimArcLength_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimArcLength_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimArcLength_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimArcLength_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimArcLength_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimArcLength_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimArcLength_get_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> get_ExtensionLineOffset(This,offset) ) 

#define IAcadDimArcLength_put_ExtensionLineOffset(This,offset)	\
    ( (This)->lpVtbl -> put_ExtensionLineOffset(This,offset) ) 

#define IAcadDimArcLength_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimArcLength_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimArcLength_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimArcLength_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimArcLength_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimArcLength_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimArcLength_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimArcLength_get_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead1Type(This,Type) ) 

#define IAcadDimArcLength_put_Arrowhead1Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead1Type(This,Type) ) 

#define IAcadDimArcLength_get_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> get_Arrowhead2Type(This,Type) ) 

#define IAcadDimArcLength_put_Arrowhead2Type(This,Type)	\
    ( (This)->lpVtbl -> put_Arrowhead2Type(This,Type) ) 

#define IAcadDimArcLength_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimArcLength_get_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimArcLength_put_Arrowhead1Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead1Block(This,BlockName) ) 

#define IAcadDimArcLength_get_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> get_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimArcLength_put_Arrowhead2Block(This,BlockName)	\
    ( (This)->lpVtbl -> put_Arrowhead2Block(This,BlockName) ) 

#define IAcadDimArcLength_get_ArcPoint(This,pVal)	\
    ( (This)->lpVtbl -> get_ArcPoint(This,pVal) ) 

#define IAcadDimArcLength_put_ArcPoint(This,newVal)	\
    ( (This)->lpVtbl -> put_ArcPoint(This,newVal) ) 

#define IAcadDimArcLength_get_ExtLine1Point(This,pVal)	\
    ( (This)->lpVtbl -> get_ExtLine1Point(This,pVal) ) 

#define IAcadDimArcLength_put_ExtLine1Point(This,newVal)	\
    ( (This)->lpVtbl -> put_ExtLine1Point(This,newVal) ) 

#define IAcadDimArcLength_get_ExtLine2Point(This,pVal)	\
    ( (This)->lpVtbl -> get_ExtLine2Point(This,pVal) ) 

#define IAcadDimArcLength_put_ExtLine2Point(This,newVal)	\
    ( (This)->lpVtbl -> put_ExtLine2Point(This,newVal) ) 

#define IAcadDimArcLength_get_CenterPoint(This,pVal)	\
    ( (This)->lpVtbl -> get_CenterPoint(This,pVal) ) 

#define IAcadDimArcLength_put_CenterPoint(This,newVal)	\
    ( (This)->lpVtbl -> put_CenterPoint(This,newVal) ) 

#define IAcadDimArcLength_get_Leader1Point(This,pVal)	\
    ( (This)->lpVtbl -> get_Leader1Point(This,pVal) ) 

#define IAcadDimArcLength_put_Leader1Point(This,newVal)	\
    ( (This)->lpVtbl -> put_Leader1Point(This,newVal) ) 

#define IAcadDimArcLength_get_Leader2Point(This,pVal)	\
    ( (This)->lpVtbl -> get_Leader2Point(This,pVal) ) 

#define IAcadDimArcLength_put_Leader2Point(This,newVal)	\
    ( (This)->lpVtbl -> put_Leader2Point(This,newVal) ) 

#define IAcadDimArcLength_get_IsPartial(This,pVal)	\
    ( (This)->lpVtbl -> get_IsPartial(This,pVal) ) 

#define IAcadDimArcLength_put_IsPartial(This,newVal)	\
    ( (This)->lpVtbl -> put_IsPartial(This,newVal) ) 

#define IAcadDimArcLength_get_ArcStartParam(This,pVal)	\
    ( (This)->lpVtbl -> get_ArcStartParam(This,pVal) ) 

#define IAcadDimArcLength_put_ArcStartParam(This,newVal)	\
    ( (This)->lpVtbl -> put_ArcStartParam(This,newVal) ) 

#define IAcadDimArcLength_get_ArcEndParam(This,pVal)	\
    ( (This)->lpVtbl -> get_ArcEndParam(This,pVal) ) 

#define IAcadDimArcLength_put_ArcEndParam(This,newVal)	\
    ( (This)->lpVtbl -> put_ArcEndParam(This,newVal) ) 

#define IAcadDimArcLength_get_HasLeader(This,pVal)	\
    ( (This)->lpVtbl -> get_HasLeader(This,pVal) ) 

#define IAcadDimArcLength_put_HasLeader(This,newVal)	\
    ( (This)->lpVtbl -> put_HasLeader(This,newVal) ) 

#define IAcadDimArcLength_get_SymbolPosition(This,position)	\
    ( (This)->lpVtbl -> get_SymbolPosition(This,position) ) 

#define IAcadDimArcLength_put_SymbolPosition(This,position)	\
    ( (This)->lpVtbl -> put_SymbolPosition(This,position) ) 

#define IAcadDimArcLength_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimArcLength_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#define IAcadDimArcLength_get_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimArcLength_put_ExtLine1Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine1Linetype(This,Linetype) ) 

#define IAcadDimArcLength_get_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimArcLength_put_ExtLine2Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_ExtLine2Linetype(This,Linetype) ) 

#define IAcadDimArcLength_get_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimArcLength_put_ExtLineFixedLenSuppress(This,bFixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLenSuppress(This,bFixedLen) ) 

#define IAcadDimArcLength_get_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> get_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimArcLength_put_ExtLineFixedLen(This,FixedLen)	\
    ( (This)->lpVtbl -> put_ExtLineFixedLen(This,FixedLen) ) 

#define IAcadDimArcLength_get_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimArcLength_put_SubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_SubUnitsSuffix(This,suffix) ) 

#define IAcadDimArcLength_get_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_SubUnitsFactor(This,factor) ) 

#define IAcadDimArcLength_put_SubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_SubUnitsFactor(This,factor) ) 

#define IAcadDimArcLength_get_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimArcLength_put_AltSubUnitsSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_AltSubUnitsSuffix(This,suffix) ) 

#define IAcadDimArcLength_get_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> get_AltSubUnitsFactor(This,factor) ) 

#define IAcadDimArcLength_put_AltSubUnitsFactor(This,factor)	\
    ( (This)->lpVtbl -> put_AltSubUnitsFactor(This,factor) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltTextPrefix_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimArcLength_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltTextSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimArcLength_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltTextSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimArcLength_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimensionLineColor_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimArcLength_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimensionLineColor_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimArcLength_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtensionLineColor_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimArcLength_get_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtensionLineColor_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimArcLength_put_ExtensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimArcLength_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimArcLength_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimensionLineExtend_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimArcLength_get_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimensionLineExtend_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimArcLength_put_DimensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtensionLineExtend_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *extend);


void __RPC_STUB IAcadDimArcLength_get_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtensionLineExtend_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double extend);


void __RPC_STUB IAcadDimArcLength_put_ExtensionLineExtend_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Fit_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimArcLength_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Fit_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimArcLength_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_FractionFormat_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimArcLength_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_FractionFormat_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimArcLength_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_HorizontalTextPosition_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimHorizontalJustification *type);


void __RPC_STUB IAcadDimArcLength_get_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_HorizontalTextPosition_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimHorizontalJustification type);


void __RPC_STUB IAcadDimArcLength_put_HorizontalTextPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_LinearScaleFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimArcLength_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_LinearScaleFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimArcLength_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_UnitsFormat_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimArcLength_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_UnitsFormat_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimArcLength_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtensionLineWeight_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ ACAD_LWEIGHT *lweight);


void __RPC_STUB IAcadDimArcLength_get_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtensionLineWeight_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ ACAD_LWEIGHT lweight);


void __RPC_STUB IAcadDimArcLength_put_ExtensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_RoundDistance_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimArcLength_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_RoundDistance_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimArcLength_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimLine1Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimArcLength_get_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimLine1Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimArcLength_put_DimLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimLine2Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimArcLength_get_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimLine2Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimArcLength_put_DimLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine1Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimArcLength_get_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine1Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimArcLength_put_ExtLine1Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine2Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimArcLength_get_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine2Suppress_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimArcLength_put_ExtLine2Suppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimLineInside_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimArcLength_get_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimLineInside_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimArcLength_put_DimLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_TextInsideAlign_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimArcLength_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_TextInsideAlign_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimArcLength_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_TextInside_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimArcLength_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_TextInside_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimArcLength_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ForceLineInside_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimArcLength_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ForceLineInside_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimArcLength_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_TextOutsideAlign_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimArcLength_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_TextOutsideAlign_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimArcLength_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtensionLineOffset_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *offset);


void __RPC_STUB IAcadDimArcLength_get_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtensionLineOffset_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double offset);


void __RPC_STUB IAcadDimArcLength_put_ExtensionLineOffset_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_SuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_SuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_SuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_SuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimArcLength_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimArcLength_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimensionLineWeight_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimArcLength_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimensionLineWeight_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimArcLength_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ArrowheadSize_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimArcLength_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ArrowheadSize_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimArcLength_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Arrowhead1Type_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimArcLength_get_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Arrowhead1Type_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimArcLength_put_Arrowhead1Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Arrowhead2Type_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimArcLength_get_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Arrowhead2Type_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimArcLength_put_Arrowhead2Type_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Measurement_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimArcLength_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Arrowhead1Block_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimArcLength_get_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Arrowhead1Block_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimArcLength_put_Arrowhead1Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Arrowhead2Block_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimArcLength_get_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Arrowhead2Block_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimArcLength_put_Arrowhead2Block_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ArcPoint_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_ArcPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ArcPoint_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_ArcPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine1Point_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_ExtLine1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine1Point_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_ExtLine1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine2Point_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_ExtLine2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine2Point_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_ExtLine2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_CenterPoint_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_CenterPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_CenterPoint_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_CenterPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Leader1Point_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_Leader1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Leader1Point_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_Leader1Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_Leader2Point_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimArcLength_get_Leader2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_Leader2Point_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimArcLength_put_Leader2Point_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_IsPartial_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IAcadDimArcLength_get_IsPartial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_IsPartial_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IAcadDimArcLength_put_IsPartial_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ArcStartParam_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IAcadDimArcLength_get_ArcStartParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ArcStartParam_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double newVal);


void __RPC_STUB IAcadDimArcLength_put_ArcStartParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ArcEndParam_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *pVal);


void __RPC_STUB IAcadDimArcLength_get_ArcEndParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ArcEndParam_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double newVal);


void __RPC_STUB IAcadDimArcLength_put_ArcEndParam_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_HasLeader_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *pVal);


void __RPC_STUB IAcadDimArcLength_get_HasLeader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_HasLeader_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL newVal);


void __RPC_STUB IAcadDimArcLength_put_HasLeader_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_SymbolPosition_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ AcDimArcLengthSymbol *position);


void __RPC_STUB IAcadDimArcLength_get_SymbolPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_SymbolPosition_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ AcDimArcLengthSymbol position);


void __RPC_STUB IAcadDimArcLength_put_SymbolPosition_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_DimensionLinetype_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimArcLength_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_DimensionLinetype_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimArcLength_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine1Linetype_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimArcLength_get_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine1Linetype_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimArcLength_put_ExtLine1Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLine2Linetype_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimArcLength_get_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLine2Linetype_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimArcLength_put_ExtLine2Linetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ VARIANT_BOOL *bFixedLen);


void __RPC_STUB IAcadDimArcLength_get_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLineFixedLenSuppress_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ VARIANT_BOOL bFixedLen);


void __RPC_STUB IAcadDimArcLength_put_ExtLineFixedLenSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_ExtLineFixedLen_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *FixedLen);


void __RPC_STUB IAcadDimArcLength_get_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_ExtLineFixedLen_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double FixedLen);


void __RPC_STUB IAcadDimArcLength_put_ExtLineFixedLen_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_SubUnitsSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimArcLength_get_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_SubUnitsSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimArcLength_put_SubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_SubUnitsFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimArcLength_get_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_SubUnitsFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimArcLength_put_SubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSubUnitsSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ BSTR *suffix);


void __RPC_STUB IAcadDimArcLength_get_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSubUnitsSuffix_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ BSTR suffix);


void __RPC_STUB IAcadDimArcLength_put_AltSubUnitsSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_get_AltSubUnitsFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [retval][out] */ double *factor);


void __RPC_STUB IAcadDimArcLength_get_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimArcLength_put_AltSubUnitsFactor_Proxy( 
    IAcadDimArcLength * This,
    /* [in] */ double factor);


void __RPC_STUB IAcadDimArcLength_put_AltSubUnitsFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimArcLength_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimArcLength,0x8CF9DBE9,0xAD3D,0x419E,0x85,0x63,0x5B,0x3C,0xE4,0x3E,0x89,0x33);

#ifdef __cplusplus

class DECLSPEC_UUID("8CF9DBE9-AD3D-419E-8563-5B3CE43E8933")
AcadDimArcLength;
#endif

#ifndef __IAcadDimRadialLarge_INTERFACE_DEFINED__
#define __IAcadDimRadialLarge_INTERFACE_DEFINED__

/* interface IAcadDimRadialLarge */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDimRadialLarge,0xCA1F3811,0x6B05,0x486C,0xB6,0x5F,0xED,0xA7,0x6A,0xAD,0x54,0xC1);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CA1F3811-6B05-486C-B65F-EDA76AAD54C1")
    IAcadDimRadialLarge : public IAcadDimension
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnits( 
            /* [retval][out] */ VARIANT_BOOL *bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnits( 
            /* [in] */ VARIANT_BOOL bAlternate) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsPrecision( 
            /* [in] */ AcDimPrecision Precision) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsScale( 
            /* [retval][out] */ ACAD_NOUNITS *Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsScale( 
            /* [in] */ ACAD_NOUNITS Scale) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltRoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltRoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTolerancePrecision( 
            /* [retval][out] */ AcDimPrecision *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTolerancePrecision( 
            /* [in] */ AcDimPrecision Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltUnitsFormat( 
            /* [retval][out] */ AcDimUnits *Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltUnitsFormat( 
            /* [in] */ AcDimUnits Units) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextPrefix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextPrefix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltTextSuffix( 
            /* [retval][out] */ BSTR *Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltTextSuffix( 
            /* [in] */ BSTR Prefix) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterType( 
            /* [retval][out] */ AcDimCenterType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterType( 
            /* [in] */ AcDimCenterType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_CenterMarkSize( 
            /* [retval][out] */ double *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_CenterMarkSize( 
            /* [in] */ double Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineColor( 
            /* [retval][out] */ ACAD_COLOR *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineColor( 
            /* [in] */ ACAD_COLOR Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryUnitsPrecision( 
            /* [retval][out] */ AcDimPrecision *Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryUnitsPrecision( 
            /* [in] */ AcDimPrecision Prec) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_FractionFormat( 
            /* [retval][out] */ AcDimFractionType *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_FractionFormat( 
            /* [in] */ AcDimFractionType type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Fit( 
            /* [retval][out] */ AcDimFit *fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Fit( 
            /* [in] */ AcDimFit fittype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LinearScaleFactor( 
            /* [retval][out] */ ACAD_NOUNITS *type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LinearScaleFactor( 
            /* [in] */ ACAD_NOUNITS type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitsFormat( 
            /* [retval][out] */ AcDimLUnits *format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UnitsFormat( 
            /* [in] */ AcDimLUnits format) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RoundDistance( 
            /* [retval][out] */ double *Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RoundDistance( 
            /* [in] */ double Distance) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimLineSuppress( 
            /* [retval][out] */ VARIANT_BOOL *bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimLineSuppress( 
            /* [in] */ VARIANT_BOOL bSuppress) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ForceLineInside( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ForceLineInside( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextOutsideAlign( 
            /* [retval][out] */ VARIANT_BOOL *bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextOutsideAlign( 
            /* [in] */ VARIANT_BOOL bInside) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressLeadingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressLeadingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressTrailingZeros( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressTrailingZeros( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AltToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AltToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroFeet( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroFeet( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ToleranceSuppressZeroInches( 
            /* [retval][out] */ VARIANT_BOOL *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ToleranceSuppressZeroInches( 
            /* [in] */ VARIANT_BOOL bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLineWeight( 
            /* [retval][out] */ ACAD_LWEIGHT *weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLineWeight( 
            /* [in] */ ACAD_LWEIGHT weight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadSize( 
            /* [retval][out] */ double *size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadSize( 
            /* [in] */ double size) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadType( 
            /* [retval][out] */ AcDimArrowheadType *Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadType( 
            /* [in] */ AcDimArrowheadType Type) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Measurement( 
            /* [retval][out] */ double *bVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE get_ArrowheadBlock( 
            /* [retval][out] */ BSTR *BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE put_ArrowheadBlock( 
            /* [in] */ BSTR BlockName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OverrideCenter( 
            /* [retval][out] */ VARIANT *overrideCenterPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OverrideCenter( 
            /* [in] */ VARIANT overrideCenterPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_JogLocation( 
            /* [retval][out] */ VARIANT *jogPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_JogLocation( 
            /* [in] */ VARIANT jogPos) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_JogAngle( 
            /* [retval][out] */ ACAD_ANGLE *jogAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_JogAngle( 
            /* [in] */ ACAD_ANGLE rotAngle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Center( 
            /* [retval][out] */ VARIANT *pVar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Center( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ChordPoint( 
            /* [retval][out] */ VARIANT *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ChordPoint( 
            /* [in] */ VARIANT newVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DimensionLinetype( 
            /* [retval][out] */ BSTR *Linetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DimensionLinetype( 
            /* [in] */ BSTR Linetype) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDimRadialLargeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDimRadialLarge * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDimRadialLarge * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDimRadialLarge * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDimRadialLarge * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDimRadialLarge * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDimRadialLarge * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDimRadialLarge * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadDimRadialLarge * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadDimRadialLarge * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadDimRadialLarge * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadDimRadialLarge * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadDimRadialLarge * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadDimRadialLarge * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadDimRadialLarge * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Normal )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Normal )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT normal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPosition )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *textPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPosition )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT textPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextRotation )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_ANGLE *rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextRotation )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOverride )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *bstrText);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOverride )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR bstrText);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StyleName )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StyleName )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextColor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextColor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DecimalSeparator )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *character);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DecimalSeparator )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR character);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextGap )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *offset);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextGap )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double offset);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextPrefix )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextPrefix )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextSuffix )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *suffix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextSuffix )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR suffix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ScaleFactor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_NOUNITS *factor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ScaleFactor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_NOUNITS factor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_VerticalTextPosition )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimVerticalJustification *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_VerticalTextPosition )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimVerticalJustification type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TolerancePrecision )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimPrecision *precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TolerancePrecision )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimPrecision precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceHeightScale )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_NOUNITS *scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceHeightScale )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_NOUNITS scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceLowerLimit )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *lower);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceLowerLimit )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double lower);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextMovement )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimTextMovement *move);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextMovement )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimTextMovement move);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceDisplay )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimToleranceMethod *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceDisplay )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimToleranceMethod method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceJustification )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimToleranceJustify *method);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceJustification )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimToleranceJustify method);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceUpperLimit )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *upper);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceUpperLimit )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double upper);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyle )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *style);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextStyle )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR style);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextHeight )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *height);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextHeight )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double height);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFill )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFill )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFillColor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFillColor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimTxtDirection )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimTxtDirection )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnits )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnits )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bAlternate);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsPrecision )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimPrecision *Precision);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsPrecision )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimPrecision Precision);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsScale )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_NOUNITS *Scale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsScale )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_NOUNITS Scale);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltRoundDistance )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltRoundDistance )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTolerancePrecision )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimPrecision *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTolerancePrecision )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimPrecision Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltUnitsFormat )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimUnits *Units);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltUnitsFormat )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimUnits Units);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextPrefix )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextPrefix )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTextSuffix )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Prefix);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTextSuffix )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Prefix);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterType )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimCenterType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterType )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimCenterType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CenterMarkSize )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CenterMarkSize )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineColor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_COLOR *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineColor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_COLOR Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrimaryUnitsPrecision )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimPrecision *Prec);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrimaryUnitsPrecision )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimPrecision Prec);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FractionFormat )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimFractionType *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FractionFormat )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimFractionType type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Fit )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimFit *fittype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Fit )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimFit fittype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinearScaleFactor )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_NOUNITS *type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinearScaleFactor )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_NOUNITS type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitsFormat )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimLUnits *format);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UnitsFormat )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimLUnits format);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RoundDistance )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *Distance);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RoundDistance )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double Distance);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimLineSuppress )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimLineSuppress )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bSuppress);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInsideAlign )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInsideAlign )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextInside )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextInside )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ForceLineInside )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ForceLineInside )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextOutsideAlign )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bInside);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextOutsideAlign )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bInside);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressLeadingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressTrailingZeros )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltToleranceSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltToleranceSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroFeet )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToleranceSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT_BOOL *bVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToleranceSuppressZeroInches )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT_BOOL bVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLineWeight )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_LWEIGHT *weight);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLineWeight )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_LWEIGHT weight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadSize )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *size);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadSize )( 
            IAcadDimRadialLarge * This,
            /* [in] */ double size);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadType )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ AcDimArrowheadType *Type);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadType )( 
            IAcadDimRadialLarge * This,
            /* [in] */ AcDimArrowheadType Type);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Measurement )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ double *bVal);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ArrowheadBlock )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *BlockName);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ArrowheadBlock )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR BlockName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OverrideCenter )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *overrideCenterPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OverrideCenter )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT overrideCenterPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_JogLocation )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *jogPos);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_JogLocation )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT jogPos);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_JogAngle )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ ACAD_ANGLE *jogAngle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_JogAngle )( 
            IAcadDimRadialLarge * This,
            /* [in] */ ACAD_ANGLE rotAngle);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Center )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *pVar);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Center )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ChordPoint )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ VARIANT *pVal);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ChordPoint )( 
            IAcadDimRadialLarge * This,
            /* [in] */ VARIANT newVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DimensionLinetype )( 
            IAcadDimRadialLarge * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DimensionLinetype )( 
            IAcadDimRadialLarge * This,
            /* [in] */ BSTR Linetype);
        
        END_INTERFACE
    } IAcadDimRadialLargeVtbl;

    interface IAcadDimRadialLarge
    {
        CONST_VTBL struct IAcadDimRadialLargeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDimRadialLarge_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDimRadialLarge_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDimRadialLarge_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDimRadialLarge_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDimRadialLarge_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDimRadialLarge_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDimRadialLarge_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDimRadialLarge_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadDimRadialLarge_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadDimRadialLarge_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadDimRadialLarge_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadDimRadialLarge_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadDimRadialLarge_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadDimRadialLarge_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadDimRadialLarge_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDimRadialLarge_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadDimRadialLarge_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadDimRadialLarge_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadDimRadialLarge_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadDimRadialLarge_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadDimRadialLarge_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadDimRadialLarge_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadDimRadialLarge_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadDimRadialLarge_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadDimRadialLarge_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadDimRadialLarge_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadDimRadialLarge_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadDimRadialLarge_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadDimRadialLarge_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadDimRadialLarge_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadDimRadialLarge_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadDimRadialLarge_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadDimRadialLarge_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadDimRadialLarge_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadDimRadialLarge_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadDimRadialLarge_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadDimRadialLarge_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadDimRadialLarge_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadDimRadialLarge_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadDimRadialLarge_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadDimRadialLarge_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadDimRadialLarge_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadDimRadialLarge_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadDimRadialLarge_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadDimRadialLarge_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRadialLarge_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadDimRadialLarge_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadDimRadialLarge_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadDimRadialLarge_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadDimRadialLarge_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadDimRadialLarge_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadDimRadialLarge_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadDimRadialLarge_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadDimRadialLarge_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadDimRadialLarge_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadDimRadialLarge_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadDimRadialLarge_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadDimRadialLarge_get_Normal(This,normal)	\
    ( (This)->lpVtbl -> get_Normal(This,normal) ) 

#define IAcadDimRadialLarge_put_Normal(This,normal)	\
    ( (This)->lpVtbl -> put_Normal(This,normal) ) 

#define IAcadDimRadialLarge_get_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_Rotation(This,rotAngle) ) 

#define IAcadDimRadialLarge_put_Rotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_Rotation(This,rotAngle) ) 

#define IAcadDimRadialLarge_get_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> get_TextPosition(This,textPos) ) 

#define IAcadDimRadialLarge_put_TextPosition(This,textPos)	\
    ( (This)->lpVtbl -> put_TextPosition(This,textPos) ) 

#define IAcadDimRadialLarge_get_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> get_TextRotation(This,rotAngle) ) 

#define IAcadDimRadialLarge_put_TextRotation(This,rotAngle)	\
    ( (This)->lpVtbl -> put_TextRotation(This,rotAngle) ) 

#define IAcadDimRadialLarge_get_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> get_TextOverride(This,bstrText) ) 

#define IAcadDimRadialLarge_put_TextOverride(This,bstrText)	\
    ( (This)->lpVtbl -> put_TextOverride(This,bstrText) ) 

#define IAcadDimRadialLarge_get_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> get_StyleName(This,bstrName) ) 

#define IAcadDimRadialLarge_put_StyleName(This,bstrName)	\
    ( (This)->lpVtbl -> put_StyleName(This,bstrName) ) 

#define IAcadDimRadialLarge_get_TextColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextColor(This,Color) ) 

#define IAcadDimRadialLarge_put_TextColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextColor(This,Color) ) 

#define IAcadDimRadialLarge_get_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> get_DecimalSeparator(This,character) ) 

#define IAcadDimRadialLarge_put_DecimalSeparator(This,character)	\
    ( (This)->lpVtbl -> put_DecimalSeparator(This,character) ) 

#define IAcadDimRadialLarge_get_TextGap(This,offset)	\
    ( (This)->lpVtbl -> get_TextGap(This,offset) ) 

#define IAcadDimRadialLarge_put_TextGap(This,offset)	\
    ( (This)->lpVtbl -> put_TextGap(This,offset) ) 

#define IAcadDimRadialLarge_get_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> get_TextPrefix(This,prefix) ) 

#define IAcadDimRadialLarge_put_TextPrefix(This,prefix)	\
    ( (This)->lpVtbl -> put_TextPrefix(This,prefix) ) 

#define IAcadDimRadialLarge_get_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> get_TextSuffix(This,suffix) ) 

#define IAcadDimRadialLarge_put_TextSuffix(This,suffix)	\
    ( (This)->lpVtbl -> put_TextSuffix(This,suffix) ) 

#define IAcadDimRadialLarge_get_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> get_ScaleFactor(This,factor) ) 

#define IAcadDimRadialLarge_put_ScaleFactor(This,factor)	\
    ( (This)->lpVtbl -> put_ScaleFactor(This,factor) ) 

#define IAcadDimRadialLarge_get_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> get_VerticalTextPosition(This,type) ) 

#define IAcadDimRadialLarge_put_VerticalTextPosition(This,type)	\
    ( (This)->lpVtbl -> put_VerticalTextPosition(This,type) ) 

#define IAcadDimRadialLarge_get_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> get_TolerancePrecision(This,precision) ) 

#define IAcadDimRadialLarge_put_TolerancePrecision(This,precision)	\
    ( (This)->lpVtbl -> put_TolerancePrecision(This,precision) ) 

#define IAcadDimRadialLarge_get_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> get_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRadialLarge_put_ToleranceHeightScale(This,scale)	\
    ( (This)->lpVtbl -> put_ToleranceHeightScale(This,scale) ) 

#define IAcadDimRadialLarge_get_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> get_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRadialLarge_put_ToleranceLowerLimit(This,lower)	\
    ( (This)->lpVtbl -> put_ToleranceLowerLimit(This,lower) ) 

#define IAcadDimRadialLarge_get_TextMovement(This,move)	\
    ( (This)->lpVtbl -> get_TextMovement(This,move) ) 

#define IAcadDimRadialLarge_put_TextMovement(This,move)	\
    ( (This)->lpVtbl -> put_TextMovement(This,move) ) 

#define IAcadDimRadialLarge_get_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceDisplay(This,method) ) 

#define IAcadDimRadialLarge_put_ToleranceDisplay(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceDisplay(This,method) ) 

#define IAcadDimRadialLarge_get_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> get_ToleranceJustification(This,method) ) 

#define IAcadDimRadialLarge_put_ToleranceJustification(This,method)	\
    ( (This)->lpVtbl -> put_ToleranceJustification(This,method) ) 

#define IAcadDimRadialLarge_get_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> get_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRadialLarge_put_ToleranceUpperLimit(This,upper)	\
    ( (This)->lpVtbl -> put_ToleranceUpperLimit(This,upper) ) 

#define IAcadDimRadialLarge_get_TextStyle(This,style)	\
    ( (This)->lpVtbl -> get_TextStyle(This,style) ) 

#define IAcadDimRadialLarge_put_TextStyle(This,style)	\
    ( (This)->lpVtbl -> put_TextStyle(This,style) ) 

#define IAcadDimRadialLarge_get_TextHeight(This,height)	\
    ( (This)->lpVtbl -> get_TextHeight(This,height) ) 

#define IAcadDimRadialLarge_put_TextHeight(This,height)	\
    ( (This)->lpVtbl -> put_TextHeight(This,height) ) 

#define IAcadDimRadialLarge_get_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_SuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_SuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_ToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_ToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> get_TextFill(This,bVal) ) 

#define IAcadDimRadialLarge_put_TextFill(This,bVal)	\
    ( (This)->lpVtbl -> put_TextFill(This,bVal) ) 

#define IAcadDimRadialLarge_get_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> get_TextFillColor(This,Color) ) 

#define IAcadDimRadialLarge_put_TextFillColor(This,Color)	\
    ( (This)->lpVtbl -> put_TextFillColor(This,Color) ) 

#define IAcadDimRadialLarge_get_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> get_DimTxtDirection(This,bVal) ) 

#define IAcadDimRadialLarge_put_DimTxtDirection(This,bVal)	\
    ( (This)->lpVtbl -> put_DimTxtDirection(This,bVal) ) 


#define IAcadDimRadialLarge_get_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> get_AltUnits(This,bAlternate) ) 

#define IAcadDimRadialLarge_put_AltUnits(This,bAlternate)	\
    ( (This)->lpVtbl -> put_AltUnits(This,bAlternate) ) 

#define IAcadDimRadialLarge_get_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> get_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRadialLarge_put_AltUnitsPrecision(This,Precision)	\
    ( (This)->lpVtbl -> put_AltUnitsPrecision(This,Precision) ) 

#define IAcadDimRadialLarge_get_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> get_AltUnitsScale(This,Scale) ) 

#define IAcadDimRadialLarge_put_AltUnitsScale(This,Scale)	\
    ( (This)->lpVtbl -> put_AltUnitsScale(This,Scale) ) 

#define IAcadDimRadialLarge_get_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_AltRoundDistance(This,Distance) ) 

#define IAcadDimRadialLarge_put_AltRoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_AltRoundDistance(This,Distance) ) 

#define IAcadDimRadialLarge_get_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> get_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRadialLarge_put_AltTolerancePrecision(This,Distance)	\
    ( (This)->lpVtbl -> put_AltTolerancePrecision(This,Distance) ) 

#define IAcadDimRadialLarge_get_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> get_AltUnitsFormat(This,Units) ) 

#define IAcadDimRadialLarge_put_AltUnitsFormat(This,Units)	\
    ( (This)->lpVtbl -> put_AltUnitsFormat(This,Units) ) 

#define IAcadDimRadialLarge_get_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRadialLarge_put_AltTextPrefix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextPrefix(This,Prefix) ) 

#define IAcadDimRadialLarge_get_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> get_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRadialLarge_put_AltTextSuffix(This,Prefix)	\
    ( (This)->lpVtbl -> put_AltTextSuffix(This,Prefix) ) 

#define IAcadDimRadialLarge_get_CenterType(This,Type)	\
    ( (This)->lpVtbl -> get_CenterType(This,Type) ) 

#define IAcadDimRadialLarge_put_CenterType(This,Type)	\
    ( (This)->lpVtbl -> put_CenterType(This,Type) ) 

#define IAcadDimRadialLarge_get_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> get_CenterMarkSize(This,Type) ) 

#define IAcadDimRadialLarge_put_CenterMarkSize(This,Type)	\
    ( (This)->lpVtbl -> put_CenterMarkSize(This,Type) ) 

#define IAcadDimRadialLarge_get_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> get_DimensionLineColor(This,Type) ) 

#define IAcadDimRadialLarge_put_DimensionLineColor(This,Type)	\
    ( (This)->lpVtbl -> put_DimensionLineColor(This,Type) ) 

#define IAcadDimRadialLarge_get_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> get_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRadialLarge_put_PrimaryUnitsPrecision(This,Prec)	\
    ( (This)->lpVtbl -> put_PrimaryUnitsPrecision(This,Prec) ) 

#define IAcadDimRadialLarge_get_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> get_FractionFormat(This,type) ) 

#define IAcadDimRadialLarge_put_FractionFormat(This,type)	\
    ( (This)->lpVtbl -> put_FractionFormat(This,type) ) 

#define IAcadDimRadialLarge_get_Fit(This,fittype)	\
    ( (This)->lpVtbl -> get_Fit(This,fittype) ) 

#define IAcadDimRadialLarge_put_Fit(This,fittype)	\
    ( (This)->lpVtbl -> put_Fit(This,fittype) ) 

#define IAcadDimRadialLarge_get_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> get_LinearScaleFactor(This,type) ) 

#define IAcadDimRadialLarge_put_LinearScaleFactor(This,type)	\
    ( (This)->lpVtbl -> put_LinearScaleFactor(This,type) ) 

#define IAcadDimRadialLarge_get_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> get_UnitsFormat(This,format) ) 

#define IAcadDimRadialLarge_put_UnitsFormat(This,format)	\
    ( (This)->lpVtbl -> put_UnitsFormat(This,format) ) 

#define IAcadDimRadialLarge_get_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> get_RoundDistance(This,Distance) ) 

#define IAcadDimRadialLarge_put_RoundDistance(This,Distance)	\
    ( (This)->lpVtbl -> put_RoundDistance(This,Distance) ) 

#define IAcadDimRadialLarge_get_DimLineSuppress(This,bSuppress)	\
    ( (This)->lpVtbl -> get_DimLineSuppress(This,bSuppress) ) 

#define IAcadDimRadialLarge_put_DimLineSuppress(This,bSuppress)	\
    ( (This)->lpVtbl -> put_DimLineSuppress(This,bSuppress) ) 

#define IAcadDimRadialLarge_get_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInsideAlign(This,bInside) ) 

#define IAcadDimRadialLarge_put_TextInsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInsideAlign(This,bInside) ) 

#define IAcadDimRadialLarge_get_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> get_TextInside(This,bInside) ) 

#define IAcadDimRadialLarge_put_TextInside(This,bInside)	\
    ( (This)->lpVtbl -> put_TextInside(This,bInside) ) 

#define IAcadDimRadialLarge_get_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> get_ForceLineInside(This,bInside) ) 

#define IAcadDimRadialLarge_put_ForceLineInside(This,bInside)	\
    ( (This)->lpVtbl -> put_ForceLineInside(This,bInside) ) 

#define IAcadDimRadialLarge_get_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> get_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRadialLarge_put_TextOutsideAlign(This,bInside)	\
    ( (This)->lpVtbl -> put_TextOutsideAlign(This,bInside) ) 

#define IAcadDimRadialLarge_get_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltToleranceSuppressLeadingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressLeadingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltToleranceSuppressTrailingZeros(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressTrailingZeros(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_get_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_put_AltToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_AltToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_get_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_put_SuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_get_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_put_SuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_SuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_get_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_put_ToleranceSuppressZeroFeet(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroFeet(This,bVal) ) 

#define IAcadDimRadialLarge_get_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> get_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_put_ToleranceSuppressZeroInches(This,bVal)	\
    ( (This)->lpVtbl -> put_ToleranceSuppressZeroInches(This,bVal) ) 

#define IAcadDimRadialLarge_get_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> get_DimensionLineWeight(This,weight) ) 

#define IAcadDimRadialLarge_put_DimensionLineWeight(This,weight)	\
    ( (This)->lpVtbl -> put_DimensionLineWeight(This,weight) ) 

#define IAcadDimRadialLarge_get_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> get_ArrowheadSize(This,size) ) 

#define IAcadDimRadialLarge_put_ArrowheadSize(This,size)	\
    ( (This)->lpVtbl -> put_ArrowheadSize(This,size) ) 

#define IAcadDimRadialLarge_get_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> get_ArrowheadType(This,Type) ) 

#define IAcadDimRadialLarge_put_ArrowheadType(This,Type)	\
    ( (This)->lpVtbl -> put_ArrowheadType(This,Type) ) 

#define IAcadDimRadialLarge_get_Measurement(This,bVal)	\
    ( (This)->lpVtbl -> get_Measurement(This,bVal) ) 

#define IAcadDimRadialLarge_get_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> get_ArrowheadBlock(This,BlockName) ) 

#define IAcadDimRadialLarge_put_ArrowheadBlock(This,BlockName)	\
    ( (This)->lpVtbl -> put_ArrowheadBlock(This,BlockName) ) 

#define IAcadDimRadialLarge_get_OverrideCenter(This,overrideCenterPos)	\
    ( (This)->lpVtbl -> get_OverrideCenter(This,overrideCenterPos) ) 

#define IAcadDimRadialLarge_put_OverrideCenter(This,overrideCenterPos)	\
    ( (This)->lpVtbl -> put_OverrideCenter(This,overrideCenterPos) ) 

#define IAcadDimRadialLarge_get_JogLocation(This,jogPos)	\
    ( (This)->lpVtbl -> get_JogLocation(This,jogPos) ) 

#define IAcadDimRadialLarge_put_JogLocation(This,jogPos)	\
    ( (This)->lpVtbl -> put_JogLocation(This,jogPos) ) 

#define IAcadDimRadialLarge_get_JogAngle(This,jogAngle)	\
    ( (This)->lpVtbl -> get_JogAngle(This,jogAngle) ) 

#define IAcadDimRadialLarge_put_JogAngle(This,rotAngle)	\
    ( (This)->lpVtbl -> put_JogAngle(This,rotAngle) ) 

#define IAcadDimRadialLarge_get_Center(This,pVar)	\
    ( (This)->lpVtbl -> get_Center(This,pVar) ) 

#define IAcadDimRadialLarge_put_Center(This,newVal)	\
    ( (This)->lpVtbl -> put_Center(This,newVal) ) 

#define IAcadDimRadialLarge_get_ChordPoint(This,pVal)	\
    ( (This)->lpVtbl -> get_ChordPoint(This,pVal) ) 

#define IAcadDimRadialLarge_put_ChordPoint(This,newVal)	\
    ( (This)->lpVtbl -> put_ChordPoint(This,newVal) ) 

#define IAcadDimRadialLarge_get_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_DimensionLinetype(This,Linetype) ) 

#define IAcadDimRadialLarge_put_DimensionLinetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_DimensionLinetype(This,Linetype) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltTextPrefix_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRadialLarge_put_AltTextPrefix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltTextSuffix_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ BSTR *Prefix);


void __RPC_STUB IAcadDimRadialLarge_get_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltTextSuffix_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ BSTR Prefix);


void __RPC_STUB IAcadDimRadialLarge_put_AltTextSuffix_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_CenterType_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimCenterType *Type);


void __RPC_STUB IAcadDimRadialLarge_get_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_CenterType_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimCenterType Type);


void __RPC_STUB IAcadDimRadialLarge_put_CenterType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_CenterMarkSize_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ double *Type);


void __RPC_STUB IAcadDimRadialLarge_get_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_CenterMarkSize_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ double Type);


void __RPC_STUB IAcadDimRadialLarge_put_CenterMarkSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_DimensionLineColor_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ ACAD_COLOR *Type);


void __RPC_STUB IAcadDimRadialLarge_get_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_DimensionLineColor_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ ACAD_COLOR Type);


void __RPC_STUB IAcadDimRadialLarge_put_DimensionLineColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimPrecision *Prec);


void __RPC_STUB IAcadDimRadialLarge_get_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_PrimaryUnitsPrecision_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimPrecision Prec);


void __RPC_STUB IAcadDimRadialLarge_put_PrimaryUnitsPrecision_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_FractionFormat_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimFractionType *type);


void __RPC_STUB IAcadDimRadialLarge_get_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_FractionFormat_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimFractionType type);


void __RPC_STUB IAcadDimRadialLarge_put_FractionFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_Fit_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimFit *fittype);


void __RPC_STUB IAcadDimRadialLarge_get_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_Fit_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimFit fittype);


void __RPC_STUB IAcadDimRadialLarge_put_Fit_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_LinearScaleFactor_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ ACAD_NOUNITS *type);


void __RPC_STUB IAcadDimRadialLarge_get_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_LinearScaleFactor_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ ACAD_NOUNITS type);


void __RPC_STUB IAcadDimRadialLarge_put_LinearScaleFactor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_UnitsFormat_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimLUnits *format);


void __RPC_STUB IAcadDimRadialLarge_get_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_UnitsFormat_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimLUnits format);


void __RPC_STUB IAcadDimRadialLarge_put_UnitsFormat_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_RoundDistance_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ double *Distance);


void __RPC_STUB IAcadDimRadialLarge_get_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_RoundDistance_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ double Distance);


void __RPC_STUB IAcadDimRadialLarge_put_RoundDistance_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_DimLineSuppress_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bSuppress);


void __RPC_STUB IAcadDimRadialLarge_get_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_DimLineSuppress_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bSuppress);


void __RPC_STUB IAcadDimRadialLarge_put_DimLineSuppress_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_TextInsideAlign_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadialLarge_get_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_TextInsideAlign_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadialLarge_put_TextInsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_TextInside_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadialLarge_get_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_TextInside_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadialLarge_put_TextInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ForceLineInside_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadialLarge_get_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ForceLineInside_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadialLarge_put_ForceLineInside_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_TextOutsideAlign_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bInside);


void __RPC_STUB IAcadDimRadialLarge_get_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_TextOutsideAlign_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bInside);


void __RPC_STUB IAcadDimRadialLarge_put_TextOutsideAlign_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltSuppressLeadingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltSuppressTrailingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltToleranceSuppressLeadingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltToleranceSuppressLeadingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltToleranceSuppressTrailingZeros_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltToleranceSuppressTrailingZeros_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_AltToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_AltToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_SuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_SuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_SuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_SuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_SuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_SuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ToleranceSuppressZeroFeet_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_ToleranceSuppressZeroFeet_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT_BOOL *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ToleranceSuppressZeroInches_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT_BOOL bVal);


void __RPC_STUB IAcadDimRadialLarge_put_ToleranceSuppressZeroInches_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_DimensionLineWeight_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ ACAD_LWEIGHT *weight);


void __RPC_STUB IAcadDimRadialLarge_get_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_DimensionLineWeight_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ ACAD_LWEIGHT weight);


void __RPC_STUB IAcadDimRadialLarge_put_DimensionLineWeight_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ArrowheadSize_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ double *size);


void __RPC_STUB IAcadDimRadialLarge_get_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ArrowheadSize_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ double size);


void __RPC_STUB IAcadDimRadialLarge_put_ArrowheadSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ArrowheadType_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ AcDimArrowheadType *Type);


void __RPC_STUB IAcadDimRadialLarge_get_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ArrowheadType_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ AcDimArrowheadType Type);


void __RPC_STUB IAcadDimRadialLarge_put_ArrowheadType_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_Measurement_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ double *bVal);


void __RPC_STUB IAcadDimRadialLarge_get_Measurement_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ArrowheadBlock_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ BSTR *BlockName);


void __RPC_STUB IAcadDimRadialLarge_get_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ArrowheadBlock_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ BSTR BlockName);


void __RPC_STUB IAcadDimRadialLarge_put_ArrowheadBlock_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_OverrideCenter_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT *overrideCenterPos);


void __RPC_STUB IAcadDimRadialLarge_get_OverrideCenter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_OverrideCenter_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT overrideCenterPos);


void __RPC_STUB IAcadDimRadialLarge_put_OverrideCenter_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_JogLocation_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT *jogPos);


void __RPC_STUB IAcadDimRadialLarge_get_JogLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_JogLocation_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT jogPos);


void __RPC_STUB IAcadDimRadialLarge_put_JogLocation_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_JogAngle_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ ACAD_ANGLE *jogAngle);


void __RPC_STUB IAcadDimRadialLarge_get_JogAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_JogAngle_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ ACAD_ANGLE rotAngle);


void __RPC_STUB IAcadDimRadialLarge_put_JogAngle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_Center_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT *pVar);


void __RPC_STUB IAcadDimRadialLarge_get_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_Center_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimRadialLarge_put_Center_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_ChordPoint_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ VARIANT *pVal);


void __RPC_STUB IAcadDimRadialLarge_get_ChordPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_ChordPoint_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ VARIANT newVal);


void __RPC_STUB IAcadDimRadialLarge_put_ChordPoint_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_get_DimensionLinetype_Proxy( 
    IAcadDimRadialLarge * This,
    /* [retval][out] */ BSTR *Linetype);


void __RPC_STUB IAcadDimRadialLarge_get_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE IAcadDimRadialLarge_put_DimensionLinetype_Proxy( 
    IAcadDimRadialLarge * This,
    /* [in] */ BSTR Linetype);


void __RPC_STUB IAcadDimRadialLarge_put_DimensionLinetype_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IAcadDimRadialLarge_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDimRadialLarge,0x17E9B011,0x53C2,0x4900,0xA6,0xBE,0x08,0x65,0xAE,0x9A,0x55,0xC7);

#ifdef __cplusplus

class DECLSPEC_UUID("17E9B011-53C2-4900-A6BE-0865AE9A55C7")
AcadDimRadialLarge;
#endif

DEFINE_GUID(CLSID_AcadBlock,0x9519F17C,0x24D4,0x40BE,0x8A,0x6F,0x63,0x9B,0x0E,0xF8,0x2D,0xA0);

#ifdef __cplusplus

class DECLSPEC_UUID("9519F17C-24D4-40BE-8A6F-639B0EF82DA0")
AcadBlock;
#endif

#ifndef __IAcadModelSpace_INTERFACE_DEFINED__
#define __IAcadModelSpace_INTERFACE_DEFINED__

/* interface IAcadModelSpace */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadModelSpace,0xE1E8DC11,0xDBAF,0x46E4,0x97,0x8B,0x06,0x85,0x6A,0x0F,0xCF,0x66);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E1E8DC11-DBAF-46E4-978B-06856A0FCF66")
    IAcadModelSpace : public IAcadBlock
    {
    public:
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadModelSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadModelSpace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadModelSpace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadModelSpace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadModelSpace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadModelSpace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadModelSpace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadModelSpace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadModelSpace * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadModelSpace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadModelSpace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadModelSpace * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadModelSpace * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadModelSpace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadModelSpace * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadModelSpace * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadModelSpace * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadModelSpace * This);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadModelSpace * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadModelSpace * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadModelSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT origin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCustomObject )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR ClassName,
            /* [retval][out] */ LPDISPATCH *pObject);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DFace )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcad3DFace **pFace3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DMesh )( 
            IAcadModelSpace * This,
            /* [in] */ int M,
            /* [in] */ int N,
            /* [in] */ VARIANT PointsMatrix,
            /* [retval][out] */ IAcadPolygonMesh **pMesh3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DPoly )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcad3DPolyline **pPoly3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddArc )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IAcadArc **pArc);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IAcadModelSpace * This,
            /* [in] */ double Height,
            /* [in] */ AcAttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IAcadAttribute **pAttr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddBox )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pBox);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCircle )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT center,
            /* [in] */ double radius,
            /* [retval][out] */ IAcadCircle **pCircle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCone )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCylinder )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAligned )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT TextPosition,
            /* [retval][out] */ IAcadDimAligned **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAngular )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDimAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimDiametric )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimDiametric **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRotated )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT DimLineLocation,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadDimRotated **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimOrdinate )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT DefinitionPoint,
            /* [in] */ VARIANT LeaderEndPoint,
            /* [in] */ int UseXAxis,
            /* [retval][out] */ IAcadDimOrdinate **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadial )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimRadial **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipse )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IAcadEllipse **pEllipse);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCone )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCylinder )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolid )( 
            IAcadModelSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ double Height,
            /* [in] */ double TaperAngle,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolidAlongPath )( 
            IAcadModelSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ IDispatch *Path,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeader )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ IAcadEntity *Annotation,
            /* [in] */ AcLeaderType Type,
            /* [retval][out] */ IAcadLeader **pLeader);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMText )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IAcadMText **pMtext);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPoint )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Point,
            /* [retval][out] */ IAcadPoint **pPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLightWeightPolyline )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadLWPolyline **pLWPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyline )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadPolyline **pPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRay )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadRay **pRay);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRegion )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT ObjectList,
            /* [retval][out] */ VARIANT *pRegions);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRevolvedSolid )( 
            IAcadModelSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ VARIANT AxisPoint,
            /* [in] */ VARIANT AxisDir,
            /* [in] */ double Angle,
            /* [retval][out] */ IAcad3DSolid **pRevolSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddShape )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double scaleFactor,
            /* [in] */ double rotationAngle,
            /* [retval][out] */ IAcadShape **pShape);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSolid )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcadSolid **pSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSphere )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IAcad3DSolid **pSphere);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSpline )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ VARIANT StartTangent,
            /* [in] */ VARIANT EndTangent,
            /* [retval][out] */ IAcadSpline **pSpline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddText )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR TextString,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IAcadText **pText);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTolerance )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR Text,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ VARIANT Direction,
            /* [retval][out] */ IAcadTolerance **pTolerance);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTorus )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IAcad3DSolid **pTorus);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTrace )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcadTrace **pTrace);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddWedge )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pWedge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddXline )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadXline **pXline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertBlock )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadBlockReference **pBlkRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddHatch )( 
            IAcadModelSpace * This,
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [optional][in] */ VARIANT HatchObjectType,
            /* [retval][out] */ IAcadHatch **pHatch);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRaster )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR ImageFileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadRasterImage **pRaster);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLine )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ IAcadLine **pLine);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLayout )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bIsLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layout )( 
            IAcadModelSpace * This,
            /* [retval][out] */ IAcadLayout **pLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsXRef )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT_BOOL *pIsXRref);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMInsertBlock )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ long NumRows,
            /* [in] */ long NumColumns,
            /* [in] */ long RowSpacing,
            /* [in] */ long ColumnSpacing,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadMInsertBlock **pMInsertBlk);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyfaceMesh )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT VertexList,
            /* [in] */ VARIANT FaceList,
            /* [retval][out] */ IAcadPolyfaceMesh **pPFMesh);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLine )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT VertexList,
            /* [retval][out] */ IAcadMLine **pMLine);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDim3PointAngular )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDim3PointAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefDatabase )( 
            IAcadModelSpace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AttachExternalReference )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadExternalReference **pXRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Unload )( 
            IAcadModelSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            IAcadModelSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Bind )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT_BOOL bPrefixName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Detach )( 
            IAcadModelSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTable )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ double RowHeight,
            /* [in] */ double ColWidth,
            /* [retval][out] */ IAcadTable **pTable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadModelSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            IAcadModelSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            IAcadModelSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Units )( 
            IAcadModelSpace * This,
            /* [retval][out] */ AcInsertUnits *pIU);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Units )( 
            IAcadModelSpace * This,
            /* [in] */ AcInsertUnits IU);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Explodable )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Explodable )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT_BOOL bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockScaling )( 
            IAcadModelSpace * This,
            /* [retval][out] */ AcBlockScaling *pBS);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockScaling )( 
            IAcadModelSpace * This,
            /* [in] */ AcBlockScaling BS);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadModelSpace * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimArc )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT ArcCenter,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT ArcPoint,
            /* [retval][out] */ IAcadDimArcLength **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadialLarge )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT OverrideCenter,
            /* [in] */ VARIANT JogPoint,
            /* [in] */ double JogAngle,
            /* [retval][out] */ IAcadDimRadialLarge **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSection )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT fromPoint,
            /* [in] */ VARIANT toPoint,
            /* [in] */ VARIANT planeVector,
            /* [retval][out] */ IAcadSection **ppSecPlane);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLeader )( 
            IAcadModelSpace * This,
            /* [in] */ VARIANT pointsArray,
            /* [out] */ int *leaderLineIndex,
            /* [retval][out] */ IAcadMLeader **pMLeader);
        
        END_INTERFACE
    } IAcadModelSpaceVtbl;

    interface IAcadModelSpace
    {
        CONST_VTBL struct IAcadModelSpaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadModelSpace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadModelSpace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadModelSpace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadModelSpace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadModelSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadModelSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadModelSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadModelSpace_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadModelSpace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadModelSpace_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadModelSpace_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadModelSpace_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadModelSpace_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadModelSpace_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadModelSpace_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadModelSpace_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadModelSpace_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadModelSpace_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadModelSpace_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadModelSpace_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadModelSpace_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadModelSpace_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadModelSpace_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadModelSpace_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadModelSpace_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadModelSpace_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadModelSpace_put_Origin(This,origin)	\
    ( (This)->lpVtbl -> put_Origin(This,origin) ) 

#define IAcadModelSpace_AddCustomObject(This,ClassName,pObject)	\
    ( (This)->lpVtbl -> AddCustomObject(This,ClassName,pObject) ) 

#define IAcadModelSpace_Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d)	\
    ( (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d) ) 

#define IAcadModelSpace_Add3DMesh(This,M,N,PointsMatrix,pMesh3d)	\
    ( (This)->lpVtbl -> Add3DMesh(This,M,N,PointsMatrix,pMesh3d) ) 

#define IAcadModelSpace_Add3DPoly(This,PointsArray,pPoly3d)	\
    ( (This)->lpVtbl -> Add3DPoly(This,PointsArray,pPoly3d) ) 

#define IAcadModelSpace_AddArc(This,Center,Radius,StartAngle,EndAngle,pArc)	\
    ( (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,pArc) ) 

#define IAcadModelSpace_AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr)	\
    ( (This)->lpVtbl -> AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr) ) 

#define IAcadModelSpace_AddBox(This,Origin,Length,Width,Height,pBox)	\
    ( (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,pBox) ) 

#define IAcadModelSpace_AddCircle(This,center,radius,pCircle)	\
    ( (This)->lpVtbl -> AddCircle(This,center,radius,pCircle) ) 

#define IAcadModelSpace_AddCone(This,Center,BaseRadius,Height,pCone)	\
    ( (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,pCone) ) 

#define IAcadModelSpace_AddCylinder(This,Center,Radius,Height,pCyl)	\
    ( (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,pCyl) ) 

#define IAcadModelSpace_AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim)	\
    ( (This)->lpVtbl -> AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim) ) 

#define IAcadModelSpace_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadModelSpace_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim) ) 

#define IAcadModelSpace_AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim) ) 

#define IAcadModelSpace_AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim)	\
    ( (This)->lpVtbl -> AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim) ) 

#define IAcadModelSpace_AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim) ) 

#define IAcadModelSpace_AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse)	\
    ( (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse) ) 

#define IAcadModelSpace_AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone)	\
    ( (This)->lpVtbl -> AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone) ) 

#define IAcadModelSpace_AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl)	\
    ( (This)->lpVtbl -> AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl) ) 

#define IAcadModelSpace_AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid) ) 

#define IAcadModelSpace_AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid) ) 

#define IAcadModelSpace_AddLeader(This,PointsArray,Annotation,Type,pLeader)	\
    ( (This)->lpVtbl -> AddLeader(This,PointsArray,Annotation,Type,pLeader) ) 

#define IAcadModelSpace_AddMText(This,InsertionPoint,Width,Text,pMtext)	\
    ( (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,pMtext) ) 

#define IAcadModelSpace_AddPoint(This,Point,pPoint)	\
    ( (This)->lpVtbl -> AddPoint(This,Point,pPoint) ) 

#define IAcadModelSpace_AddLightWeightPolyline(This,VerticesList,pLWPolyline)	\
    ( (This)->lpVtbl -> AddLightWeightPolyline(This,VerticesList,pLWPolyline) ) 

#define IAcadModelSpace_AddPolyline(This,VerticesList,pPolyline)	\
    ( (This)->lpVtbl -> AddPolyline(This,VerticesList,pPolyline) ) 

#define IAcadModelSpace_AddRay(This,Point1,Point2,pRay)	\
    ( (This)->lpVtbl -> AddRay(This,Point1,Point2,pRay) ) 

#define IAcadModelSpace_AddRegion(This,ObjectList,pRegions)	\
    ( (This)->lpVtbl -> AddRegion(This,ObjectList,pRegions) ) 

#define IAcadModelSpace_AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid)	\
    ( (This)->lpVtbl -> AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid) ) 

#define IAcadModelSpace_AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape)	\
    ( (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape) ) 

#define IAcadModelSpace_AddSolid(This,Point1,Point2,Point3,Point4,pSolid)	\
    ( (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,pSolid) ) 

#define IAcadModelSpace_AddSphere(This,Center,Radius,pSphere)	\
    ( (This)->lpVtbl -> AddSphere(This,Center,Radius,pSphere) ) 

#define IAcadModelSpace_AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline)	\
    ( (This)->lpVtbl -> AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline) ) 

#define IAcadModelSpace_AddText(This,TextString,InsertionPoint,Height,pText)	\
    ( (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,pText) ) 

#define IAcadModelSpace_AddTolerance(This,Text,InsertionPoint,Direction,pTolerance)	\
    ( (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,pTolerance) ) 

#define IAcadModelSpace_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    ( (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus) ) 

#define IAcadModelSpace_AddTrace(This,PointsArray,pTrace)	\
    ( (This)->lpVtbl -> AddTrace(This,PointsArray,pTrace) ) 

#define IAcadModelSpace_AddWedge(This,Center,Length,Width,Height,pWedge)	\
    ( (This)->lpVtbl -> AddWedge(This,Center,Length,Width,Height,pWedge) ) 

#define IAcadModelSpace_AddXline(This,Point1,Point2,pXline)	\
    ( (This)->lpVtbl -> AddXline(This,Point1,Point2,pXline) ) 

#define IAcadModelSpace_InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef)	\
    ( (This)->lpVtbl -> InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef) ) 

#define IAcadModelSpace_AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch)	\
    ( (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch) ) 

#define IAcadModelSpace_AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster)	\
    ( (This)->lpVtbl -> AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster) ) 

#define IAcadModelSpace_AddLine(This,StartPoint,EndPoint,pLine)	\
    ( (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,pLine) ) 

#define IAcadModelSpace_get_IsLayout(This,bIsLayout)	\
    ( (This)->lpVtbl -> get_IsLayout(This,bIsLayout) ) 

#define IAcadModelSpace_get_Layout(This,pLayout)	\
    ( (This)->lpVtbl -> get_Layout(This,pLayout) ) 

#define IAcadModelSpace_get_IsXRef(This,pIsXRref)	\
    ( (This)->lpVtbl -> get_IsXRef(This,pIsXRref) ) 

#define IAcadModelSpace_AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk)	\
    ( (This)->lpVtbl -> AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk) ) 

#define IAcadModelSpace_AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh)	\
    ( (This)->lpVtbl -> AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh) ) 

#define IAcadModelSpace_AddMLine(This,VertexList,pMLine)	\
    ( (This)->lpVtbl -> AddMLine(This,VertexList,pMLine) ) 

#define IAcadModelSpace_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadModelSpace_get_XRefDatabase(This,pDatabase)	\
    ( (This)->lpVtbl -> get_XRefDatabase(This,pDatabase) ) 

#define IAcadModelSpace_AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef)	\
    ( (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef) ) 

#define IAcadModelSpace_Unload(This)	\
    ( (This)->lpVtbl -> Unload(This) ) 

#define IAcadModelSpace_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define IAcadModelSpace_Bind(This,bPrefixName)	\
    ( (This)->lpVtbl -> Bind(This,bPrefixName) ) 

#define IAcadModelSpace_Detach(This)	\
    ( (This)->lpVtbl -> Detach(This) ) 

#define IAcadModelSpace_AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable)	\
    ( (This)->lpVtbl -> AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable) ) 

#define IAcadModelSpace_get_Path(This,bstrName)	\
    ( (This)->lpVtbl -> get_Path(This,bstrName) ) 

#define IAcadModelSpace_put_Path(This,bstrName)	\
    ( (This)->lpVtbl -> put_Path(This,bstrName) ) 

#define IAcadModelSpace_get_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> get_Comments(This,bstrName) ) 

#define IAcadModelSpace_put_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> put_Comments(This,bstrName) ) 

#define IAcadModelSpace_get_Units(This,pIU)	\
    ( (This)->lpVtbl -> get_Units(This,pIU) ) 

#define IAcadModelSpace_put_Units(This,IU)	\
    ( (This)->lpVtbl -> put_Units(This,IU) ) 

#define IAcadModelSpace_get_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> get_Explodable(This,bExplodable) ) 

#define IAcadModelSpace_put_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> put_Explodable(This,bExplodable) ) 

#define IAcadModelSpace_get_BlockScaling(This,pBS)	\
    ( (This)->lpVtbl -> get_BlockScaling(This,pBS) ) 

#define IAcadModelSpace_put_BlockScaling(This,BS)	\
    ( (This)->lpVtbl -> put_BlockScaling(This,BS) ) 

#define IAcadModelSpace_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadModelSpace_AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim) ) 

#define IAcadModelSpace_AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim) ) 

#define IAcadModelSpace_AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane)	\
    ( (This)->lpVtbl -> AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane) ) 

#define IAcadModelSpace_AddMLeader(This,pointsArray,leaderLineIndex,pMLeader)	\
    ( (This)->lpVtbl -> AddMLeader(This,pointsArray,leaderLineIndex,pMLeader) ) 


#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadModelSpace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadModelSpace,0xC2C20721,0x1603,0x4B88,0xB8,0x76,0xCA,0x9D,0xBB,0x88,0x6E,0x2A);

#ifdef __cplusplus

class DECLSPEC_UUID("C2C20721-1603-4B88-B876-CA9DBB886E2A")
AcadModelSpace;
#endif

#ifndef __IAcadPaperSpace_INTERFACE_DEFINED__
#define __IAcadPaperSpace_INTERFACE_DEFINED__

/* interface IAcadPaperSpace */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPaperSpace,0x1E9C96AC,0xCCD5,0x48F4,0xB0,0x11,0xC4,0x02,0x55,0x2C,0x4B,0xA8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1E9C96AC-CCD5-48F4-B011-C402552C4BA8")
    IAcadPaperSpace : public IAcadBlock
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddPViewport( 
            /* [in] */ VARIANT center,
            /* [in] */ double width,
            /* [in] */ double height,
            /* [retval][out] */ IAcadPViewport **pPViewport) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPaperSpaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPaperSpace * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPaperSpace * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPaperSpace * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPaperSpace * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPaperSpace * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPaperSpace * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPaperSpace * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPaperSpace * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPaperSpace * This);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Origin )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT *origin);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Origin )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT origin);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCustomObject )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR ClassName,
            /* [retval][out] */ LPDISPATCH *pObject);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DFace )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcad3DFace **pFace3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DMesh )( 
            IAcadPaperSpace * This,
            /* [in] */ int M,
            /* [in] */ int N,
            /* [in] */ VARIANT PointsMatrix,
            /* [retval][out] */ IAcadPolygonMesh **pMesh3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add3DPoly )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcad3DPolyline **pPoly3d);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddArc )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double StartAngle,
            /* [in] */ double EndAngle,
            /* [retval][out] */ IAcadArc **pArc);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddAttribute )( 
            IAcadPaperSpace * This,
            /* [in] */ double Height,
            /* [in] */ AcAttributeMode Mode,
            /* [in] */ BSTR Prompt,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Tag,
            /* [in] */ BSTR Value,
            /* [retval][out] */ IAcadAttribute **pAttr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddBox )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Origin,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pBox);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCircle )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT center,
            /* [in] */ double radius,
            /* [retval][out] */ IAcadCircle **pCircle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCone )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double BaseRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCylinder )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAligned )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT TextPosition,
            /* [retval][out] */ IAcadDimAligned **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimAngular )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDimAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimDiametric )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT FarChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimDiametric **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRotated )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT ExtLine1Point,
            /* [in] */ VARIANT ExtLine2Point,
            /* [in] */ VARIANT DimLineLocation,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadDimRotated **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimOrdinate )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT DefinitionPoint,
            /* [in] */ VARIANT LeaderEndPoint,
            /* [in] */ int UseXAxis,
            /* [retval][out] */ IAcadDimOrdinate **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadial )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ double LeaderLength,
            /* [retval][out] */ IAcadDimRadial **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipse )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT MajorAxis,
            /* [in] */ double RadiusRatio,
            /* [retval][out] */ IAcadEllipse **pEllipse);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCone )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCone);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddEllipticalCylinder )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double MajorRadius,
            /* [in] */ double MinorRadius,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pEllipCyl);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolid )( 
            IAcadPaperSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ double Height,
            /* [in] */ double TaperAngle,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddExtrudedSolidAlongPath )( 
            IAcadPaperSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ IDispatch *Path,
            /* [retval][out] */ IAcad3DSolid **pExtrSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLeader )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ IAcadEntity *Annotation,
            /* [in] */ AcLeaderType Type,
            /* [retval][out] */ IAcadLeader **pLeader);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMText )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Width,
            /* [in] */ BSTR Text,
            /* [retval][out] */ IAcadMText **pMtext);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPoint )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Point,
            /* [retval][out] */ IAcadPoint **pPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLightWeightPolyline )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadLWPolyline **pLWPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyline )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT VerticesList,
            /* [retval][out] */ IAcadPolyline **pPolyline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRay )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadRay **pRay);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRegion )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT ObjectList,
            /* [retval][out] */ VARIANT *pRegions);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRevolvedSolid )( 
            IAcadPaperSpace * This,
            /* [in] */ IAcadRegion *Profile,
            /* [in] */ VARIANT AxisPoint,
            /* [in] */ VARIANT AxisDir,
            /* [in] */ double Angle,
            /* [retval][out] */ IAcad3DSolid **pRevolSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddShape )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double scaleFactor,
            /* [in] */ double rotationAngle,
            /* [retval][out] */ IAcadShape **pShape);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSolid )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ VARIANT Point3,
            /* [in] */ VARIANT Point4,
            /* [retval][out] */ IAcadSolid **pSolid);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSphere )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Radius,
            /* [retval][out] */ IAcad3DSolid **pSphere);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSpline )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [in] */ VARIANT StartTangent,
            /* [in] */ VARIANT EndTangent,
            /* [retval][out] */ IAcadSpline **pSpline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddText )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR TextString,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Height,
            /* [retval][out] */ IAcadText **pText);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTolerance )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR Text,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ VARIANT Direction,
            /* [retval][out] */ IAcadTolerance **pTolerance);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTorus )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double TorusRadius,
            /* [in] */ double TubeRadius,
            /* [retval][out] */ IAcad3DSolid **pTorus);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTrace )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT PointsArray,
            /* [retval][out] */ IAcadTrace **pTrace);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddWedge )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Length,
            /* [in] */ double Width,
            /* [in] */ double Height,
            /* [retval][out] */ IAcad3DSolid **pWedge);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddXline )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ IAcadXline **pXline);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *InsertBlock )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadBlockReference **pBlkRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddHatch )( 
            IAcadPaperSpace * This,
            /* [in] */ int PatternType,
            /* [in] */ BSTR PatternName,
            /* [in] */ VARIANT_BOOL Associativity,
            /* [optional][in] */ VARIANT HatchObjectType,
            /* [retval][out] */ IAcadHatch **pHatch);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddRaster )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR ImageFileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [in] */ double RotationAngle,
            /* [retval][out] */ IAcadRasterImage **pRaster);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddLine )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ IAcadLine **pLine);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsLayout )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bIsLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layout )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ IAcadLayout **pLayout);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsXRef )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT_BOOL *pIsXRref);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMInsertBlock )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ BSTR Name,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ long NumRows,
            /* [in] */ long NumColumns,
            /* [in] */ long RowSpacing,
            /* [in] */ long ColumnSpacing,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadMInsertBlock **pMInsertBlk);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPolyfaceMesh )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT VertexList,
            /* [in] */ VARIANT FaceList,
            /* [retval][out] */ IAcadPolyfaceMesh **pPFMesh);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLine )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT VertexList,
            /* [retval][out] */ IAcadMLine **pMLine);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDim3PointAngular )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT AngleVertex,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT TextPoint,
            /* [retval][out] */ IAcadDim3PointAngular **pDim);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefDatabase )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AttachExternalReference )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR PathName,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double Xscale,
            /* [in] */ double Yscale,
            /* [in] */ double Zscale,
            /* [in] */ double Rotation,
            /* [in] */ VARIANT_BOOL bOverlay,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadExternalReference **pXRef);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Unload )( 
            IAcadPaperSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Reload )( 
            IAcadPaperSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Bind )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT_BOOL bPrefixName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Detach )( 
            IAcadPaperSpace * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddTable )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ int NumRows,
            /* [in] */ int NumColumns,
            /* [in] */ double RowHeight,
            /* [in] */ double ColWidth,
            /* [retval][out] */ IAcadTable **pTable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            IAcadPaperSpace * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Units )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ AcInsertUnits *pIU);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Units )( 
            IAcadPaperSpace * This,
            /* [in] */ AcInsertUnits IU);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Explodable )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT_BOOL *bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Explodable )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT_BOOL bExplodable);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BlockScaling )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ AcBlockScaling *pBS);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BlockScaling )( 
            IAcadPaperSpace * This,
            /* [in] */ AcBlockScaling BS);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IsDynamicBlock )( 
            IAcadPaperSpace * This,
            /* [retval][out] */ VARIANT_BOOL *pDynamicBlock);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimArc )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT ArcCenter,
            /* [in] */ VARIANT FirstEndPoint,
            /* [in] */ VARIANT SecondEndPoint,
            /* [in] */ VARIANT ArcPoint,
            /* [retval][out] */ IAcadDimArcLength **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddDimRadialLarge )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT Center,
            /* [in] */ VARIANT ChordPoint,
            /* [in] */ VARIANT OverrideCenter,
            /* [in] */ VARIANT JogPoint,
            /* [in] */ double JogAngle,
            /* [retval][out] */ IAcadDimRadialLarge **pDim);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddSection )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT fromPoint,
            /* [in] */ VARIANT toPoint,
            /* [in] */ VARIANT planeVector,
            /* [retval][out] */ IAcadSection **ppSecPlane);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddMLeader )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT pointsArray,
            /* [out] */ int *leaderLineIndex,
            /* [retval][out] */ IAcadMLeader **pMLeader);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddPViewport )( 
            IAcadPaperSpace * This,
            /* [in] */ VARIANT center,
            /* [in] */ double width,
            /* [in] */ double height,
            /* [retval][out] */ IAcadPViewport **pPViewport);
        
        END_INTERFACE
    } IAcadPaperSpaceVtbl;

    interface IAcadPaperSpace
    {
        CONST_VTBL struct IAcadPaperSpaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPaperSpace_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPaperSpace_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPaperSpace_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPaperSpace_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPaperSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPaperSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPaperSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPaperSpace_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPaperSpace_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPaperSpace_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPaperSpace_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPaperSpace_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPaperSpace_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPaperSpace_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPaperSpace_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPaperSpace_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPaperSpace_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPaperSpace_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPaperSpace_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPaperSpace_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPaperSpace_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadPaperSpace_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadPaperSpace_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadPaperSpace_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadPaperSpace_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadPaperSpace_get_Origin(This,origin)	\
    ( (This)->lpVtbl -> get_Origin(This,origin) ) 

#define IAcadPaperSpace_put_Origin(This,origin)	\
    ( (This)->lpVtbl -> put_Origin(This,origin) ) 

#define IAcadPaperSpace_AddCustomObject(This,ClassName,pObject)	\
    ( (This)->lpVtbl -> AddCustomObject(This,ClassName,pObject) ) 

#define IAcadPaperSpace_Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d)	\
    ( (This)->lpVtbl -> Add3DFace(This,Point1,Point2,Point3,Point4,pFace3d) ) 

#define IAcadPaperSpace_Add3DMesh(This,M,N,PointsMatrix,pMesh3d)	\
    ( (This)->lpVtbl -> Add3DMesh(This,M,N,PointsMatrix,pMesh3d) ) 

#define IAcadPaperSpace_Add3DPoly(This,PointsArray,pPoly3d)	\
    ( (This)->lpVtbl -> Add3DPoly(This,PointsArray,pPoly3d) ) 

#define IAcadPaperSpace_AddArc(This,Center,Radius,StartAngle,EndAngle,pArc)	\
    ( (This)->lpVtbl -> AddArc(This,Center,Radius,StartAngle,EndAngle,pArc) ) 

#define IAcadPaperSpace_AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr)	\
    ( (This)->lpVtbl -> AddAttribute(This,Height,Mode,Prompt,InsertionPoint,Tag,Value,pAttr) ) 

#define IAcadPaperSpace_AddBox(This,Origin,Length,Width,Height,pBox)	\
    ( (This)->lpVtbl -> AddBox(This,Origin,Length,Width,Height,pBox) ) 

#define IAcadPaperSpace_AddCircle(This,center,radius,pCircle)	\
    ( (This)->lpVtbl -> AddCircle(This,center,radius,pCircle) ) 

#define IAcadPaperSpace_AddCone(This,Center,BaseRadius,Height,pCone)	\
    ( (This)->lpVtbl -> AddCone(This,Center,BaseRadius,Height,pCone) ) 

#define IAcadPaperSpace_AddCylinder(This,Center,Radius,Height,pCyl)	\
    ( (This)->lpVtbl -> AddCylinder(This,Center,Radius,Height,pCyl) ) 

#define IAcadPaperSpace_AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim)	\
    ( (This)->lpVtbl -> AddDimAligned(This,ExtLine1Point,ExtLine2Point,TextPosition,pDim) ) 

#define IAcadPaperSpace_AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadPaperSpace_AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimDiametric(This,ChordPoint,FarChordPoint,LeaderLength,pDim) ) 

#define IAcadPaperSpace_AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRotated(This,ExtLine1Point,ExtLine2Point,DimLineLocation,RotationAngle,pDim) ) 

#define IAcadPaperSpace_AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim)	\
    ( (This)->lpVtbl -> AddDimOrdinate(This,DefinitionPoint,LeaderEndPoint,UseXAxis,pDim) ) 

#define IAcadPaperSpace_AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim)	\
    ( (This)->lpVtbl -> AddDimRadial(This,Center,ChordPoint,LeaderLength,pDim) ) 

#define IAcadPaperSpace_AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse)	\
    ( (This)->lpVtbl -> AddEllipse(This,Center,MajorAxis,RadiusRatio,pEllipse) ) 

#define IAcadPaperSpace_AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone)	\
    ( (This)->lpVtbl -> AddEllipticalCone(This,Center,MajorRadius,MinorRadius,Height,pEllipCone) ) 

#define IAcadPaperSpace_AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl)	\
    ( (This)->lpVtbl -> AddEllipticalCylinder(This,Center,MajorRadius,MinorRadius,Height,pEllipCyl) ) 

#define IAcadPaperSpace_AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolid(This,Profile,Height,TaperAngle,pExtrSolid) ) 

#define IAcadPaperSpace_AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid)	\
    ( (This)->lpVtbl -> AddExtrudedSolidAlongPath(This,Profile,Path,pExtrSolid) ) 

#define IAcadPaperSpace_AddLeader(This,PointsArray,Annotation,Type,pLeader)	\
    ( (This)->lpVtbl -> AddLeader(This,PointsArray,Annotation,Type,pLeader) ) 

#define IAcadPaperSpace_AddMText(This,InsertionPoint,Width,Text,pMtext)	\
    ( (This)->lpVtbl -> AddMText(This,InsertionPoint,Width,Text,pMtext) ) 

#define IAcadPaperSpace_AddPoint(This,Point,pPoint)	\
    ( (This)->lpVtbl -> AddPoint(This,Point,pPoint) ) 

#define IAcadPaperSpace_AddLightWeightPolyline(This,VerticesList,pLWPolyline)	\
    ( (This)->lpVtbl -> AddLightWeightPolyline(This,VerticesList,pLWPolyline) ) 

#define IAcadPaperSpace_AddPolyline(This,VerticesList,pPolyline)	\
    ( (This)->lpVtbl -> AddPolyline(This,VerticesList,pPolyline) ) 

#define IAcadPaperSpace_AddRay(This,Point1,Point2,pRay)	\
    ( (This)->lpVtbl -> AddRay(This,Point1,Point2,pRay) ) 

#define IAcadPaperSpace_AddRegion(This,ObjectList,pRegions)	\
    ( (This)->lpVtbl -> AddRegion(This,ObjectList,pRegions) ) 

#define IAcadPaperSpace_AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid)	\
    ( (This)->lpVtbl -> AddRevolvedSolid(This,Profile,AxisPoint,AxisDir,Angle,pRevolSolid) ) 

#define IAcadPaperSpace_AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape)	\
    ( (This)->lpVtbl -> AddShape(This,Name,InsertionPoint,scaleFactor,rotationAngle,pShape) ) 

#define IAcadPaperSpace_AddSolid(This,Point1,Point2,Point3,Point4,pSolid)	\
    ( (This)->lpVtbl -> AddSolid(This,Point1,Point2,Point3,Point4,pSolid) ) 

#define IAcadPaperSpace_AddSphere(This,Center,Radius,pSphere)	\
    ( (This)->lpVtbl -> AddSphere(This,Center,Radius,pSphere) ) 

#define IAcadPaperSpace_AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline)	\
    ( (This)->lpVtbl -> AddSpline(This,PointsArray,StartTangent,EndTangent,pSpline) ) 

#define IAcadPaperSpace_AddText(This,TextString,InsertionPoint,Height,pText)	\
    ( (This)->lpVtbl -> AddText(This,TextString,InsertionPoint,Height,pText) ) 

#define IAcadPaperSpace_AddTolerance(This,Text,InsertionPoint,Direction,pTolerance)	\
    ( (This)->lpVtbl -> AddTolerance(This,Text,InsertionPoint,Direction,pTolerance) ) 

#define IAcadPaperSpace_AddTorus(This,Center,TorusRadius,TubeRadius,pTorus)	\
    ( (This)->lpVtbl -> AddTorus(This,Center,TorusRadius,TubeRadius,pTorus) ) 

#define IAcadPaperSpace_AddTrace(This,PointsArray,pTrace)	\
    ( (This)->lpVtbl -> AddTrace(This,PointsArray,pTrace) ) 

#define IAcadPaperSpace_AddWedge(This,Center,Length,Width,Height,pWedge)	\
    ( (This)->lpVtbl -> AddWedge(This,Center,Length,Width,Height,pWedge) ) 

#define IAcadPaperSpace_AddXline(This,Point1,Point2,pXline)	\
    ( (This)->lpVtbl -> AddXline(This,Point1,Point2,pXline) ) 

#define IAcadPaperSpace_InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef)	\
    ( (This)->lpVtbl -> InsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,Password,pBlkRef) ) 

#define IAcadPaperSpace_AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch)	\
    ( (This)->lpVtbl -> AddHatch(This,PatternType,PatternName,Associativity,HatchObjectType,pHatch) ) 

#define IAcadPaperSpace_AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster)	\
    ( (This)->lpVtbl -> AddRaster(This,ImageFileName,InsertionPoint,ScaleFactor,RotationAngle,pRaster) ) 

#define IAcadPaperSpace_AddLine(This,StartPoint,EndPoint,pLine)	\
    ( (This)->lpVtbl -> AddLine(This,StartPoint,EndPoint,pLine) ) 

#define IAcadPaperSpace_get_IsLayout(This,bIsLayout)	\
    ( (This)->lpVtbl -> get_IsLayout(This,bIsLayout) ) 

#define IAcadPaperSpace_get_Layout(This,pLayout)	\
    ( (This)->lpVtbl -> get_Layout(This,pLayout) ) 

#define IAcadPaperSpace_get_IsXRef(This,pIsXRref)	\
    ( (This)->lpVtbl -> get_IsXRef(This,pIsXRref) ) 

#define IAcadPaperSpace_AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk)	\
    ( (This)->lpVtbl -> AddMInsertBlock(This,InsertionPoint,Name,Xscale,Yscale,Zscale,Rotation,NumRows,NumColumns,RowSpacing,ColumnSpacing,Password,pMInsertBlk) ) 

#define IAcadPaperSpace_AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh)	\
    ( (This)->lpVtbl -> AddPolyfaceMesh(This,VertexList,FaceList,pPFMesh) ) 

#define IAcadPaperSpace_AddMLine(This,VertexList,pMLine)	\
    ( (This)->lpVtbl -> AddMLine(This,VertexList,pMLine) ) 

#define IAcadPaperSpace_AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim)	\
    ( (This)->lpVtbl -> AddDim3PointAngular(This,AngleVertex,FirstEndPoint,SecondEndPoint,TextPoint,pDim) ) 

#define IAcadPaperSpace_get_XRefDatabase(This,pDatabase)	\
    ( (This)->lpVtbl -> get_XRefDatabase(This,pDatabase) ) 

#define IAcadPaperSpace_AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef)	\
    ( (This)->lpVtbl -> AttachExternalReference(This,PathName,Name,InsertionPoint,Xscale,Yscale,Zscale,Rotation,bOverlay,Password,pXRef) ) 

#define IAcadPaperSpace_Unload(This)	\
    ( (This)->lpVtbl -> Unload(This) ) 

#define IAcadPaperSpace_Reload(This)	\
    ( (This)->lpVtbl -> Reload(This) ) 

#define IAcadPaperSpace_Bind(This,bPrefixName)	\
    ( (This)->lpVtbl -> Bind(This,bPrefixName) ) 

#define IAcadPaperSpace_Detach(This)	\
    ( (This)->lpVtbl -> Detach(This) ) 

#define IAcadPaperSpace_AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable)	\
    ( (This)->lpVtbl -> AddTable(This,InsertionPoint,NumRows,NumColumns,RowHeight,ColWidth,pTable) ) 

#define IAcadPaperSpace_get_Path(This,bstrName)	\
    ( (This)->lpVtbl -> get_Path(This,bstrName) ) 

#define IAcadPaperSpace_put_Path(This,bstrName)	\
    ( (This)->lpVtbl -> put_Path(This,bstrName) ) 

#define IAcadPaperSpace_get_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> get_Comments(This,bstrName) ) 

#define IAcadPaperSpace_put_Comments(This,bstrName)	\
    ( (This)->lpVtbl -> put_Comments(This,bstrName) ) 

#define IAcadPaperSpace_get_Units(This,pIU)	\
    ( (This)->lpVtbl -> get_Units(This,pIU) ) 

#define IAcadPaperSpace_put_Units(This,IU)	\
    ( (This)->lpVtbl -> put_Units(This,IU) ) 

#define IAcadPaperSpace_get_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> get_Explodable(This,bExplodable) ) 

#define IAcadPaperSpace_put_Explodable(This,bExplodable)	\
    ( (This)->lpVtbl -> put_Explodable(This,bExplodable) ) 

#define IAcadPaperSpace_get_BlockScaling(This,pBS)	\
    ( (This)->lpVtbl -> get_BlockScaling(This,pBS) ) 

#define IAcadPaperSpace_put_BlockScaling(This,BS)	\
    ( (This)->lpVtbl -> put_BlockScaling(This,BS) ) 

#define IAcadPaperSpace_get_IsDynamicBlock(This,pDynamicBlock)	\
    ( (This)->lpVtbl -> get_IsDynamicBlock(This,pDynamicBlock) ) 

#define IAcadPaperSpace_AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim)	\
    ( (This)->lpVtbl -> AddDimArc(This,ArcCenter,FirstEndPoint,SecondEndPoint,ArcPoint,pDim) ) 

#define IAcadPaperSpace_AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim)	\
    ( (This)->lpVtbl -> AddDimRadialLarge(This,Center,ChordPoint,OverrideCenter,JogPoint,JogAngle,pDim) ) 

#define IAcadPaperSpace_AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane)	\
    ( (This)->lpVtbl -> AddSection(This,fromPoint,toPoint,planeVector,ppSecPlane) ) 

#define IAcadPaperSpace_AddMLeader(This,pointsArray,leaderLineIndex,pMLeader)	\
    ( (This)->lpVtbl -> AddMLeader(This,pointsArray,leaderLineIndex,pMLeader) ) 


#define IAcadPaperSpace_AddPViewport(This,center,width,height,pPViewport)	\
    ( (This)->lpVtbl -> AddPViewport(This,center,width,height,pPViewport) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPaperSpace_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPaperSpace,0x8AF533B5,0xF76D,0x4F06,0xAD,0x3F,0x1C,0x19,0xC9,0x03,0xF3,0xBF);

#ifdef __cplusplus

class DECLSPEC_UUID("8AF533B5-F76D-4F06-AD3F-1C19C903F3BF")
AcadPaperSpace;
#endif

#ifndef __IAcadPointCloud_INTERFACE_DEFINED__
#define __IAcadPointCloud_INTERFACE_DEFINED__

/* interface IAcadPointCloud */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPointCloud,0x40805980,0x0060,0x4E8E,0x9F,0x2C,0xD8,0xA7,0x3F,0xDC,0xF1,0x43);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("40805980-0060-4E8E-9F2C-D8A73FDCF143")
    IAcadPointCloud : public IAcadEntity
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UseEntityColor( 
            /* [retval][out] */ AcPointCloudColorType *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_UseEntityColor( 
            /* [in] */ AcPointCloudColorType val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowIntensity( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowIntensity( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IntensityColorScheme( 
            /* [retval][out] */ AcPointCloudIntensityStyle *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IntensityColorScheme( 
            /* [in] */ AcPointCloudIntensityStyle val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *endPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT endPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ ACAD_DISTANCE *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ ACAD_DISTANCE val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Length( 
            /* [retval][out] */ ACAD_DISTANCE *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Length( 
            /* [in] */ ACAD_DISTANCE val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ ACAD_DISTANCE *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ ACAD_DISTANCE val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Scale( 
            /* [retval][out] */ ACAD_NOUNITS *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Scale( 
            /* [in] */ ACAD_NOUNITS val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowClipped( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowClipped( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Locked( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Locked( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Stylization( 
            /* [retval][out] */ AcPointCloudStylizationType *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Stylization( 
            /* [in] */ AcPointCloudStylizationType val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Unit( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitFactor( 
            /* [retval][out] */ ACAD_NOUNITS *val) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPointCloudVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPointCloud * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPointCloud * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPointCloud * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPointCloud * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPointCloud * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPointCloud * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPointCloud * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPointCloud * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPointCloud * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPointCloud * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPointCloud * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPointCloud * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPointCloud * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPointCloud * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPointCloud * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPointCloud * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPointCloud * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPointCloud * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPointCloud * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPointCloud * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPointCloud * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPointCloud * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPointCloud * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPointCloud * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPointCloud * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPointCloud * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseEntityColor )( 
            IAcadPointCloud * This,
            /* [retval][out] */ AcPointCloudColorType *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseEntityColor )( 
            IAcadPointCloud * This,
            /* [in] */ AcPointCloudColorType val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowIntensity )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowIntensity )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IntensityColorScheme )( 
            IAcadPointCloud * This,
            /* [retval][out] */ AcPointCloudIntensityStyle *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IntensityColorScheme )( 
            IAcadPointCloud * This,
            /* [in] */ AcPointCloudIntensityStyle val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT endPoint);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_ANGLE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_ANGLE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_DISTANCE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_DISTANCE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Length )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_DISTANCE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Length )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_DISTANCE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_DISTANCE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_DISTANCE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scale )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Scale )( 
            IAcadPointCloud * This,
            /* [in] */ ACAD_NOUNITS val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowClipped )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowClipped )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Locked )( 
            IAcadPointCloud * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Locked )( 
            IAcadPointCloud * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Stylization )( 
            IAcadPointCloud * This,
            /* [retval][out] */ AcPointCloudStylizationType *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Stylization )( 
            IAcadPointCloud * This,
            /* [in] */ AcPointCloudStylizationType val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unit )( 
            IAcadPointCloud * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitFactor )( 
            IAcadPointCloud * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        END_INTERFACE
    } IAcadPointCloudVtbl;

    interface IAcadPointCloud
    {
        CONST_VTBL struct IAcadPointCloudVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPointCloud_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPointCloud_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPointCloud_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPointCloud_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPointCloud_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPointCloud_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPointCloud_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPointCloud_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPointCloud_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPointCloud_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPointCloud_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPointCloud_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPointCloud_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPointCloud_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPointCloud_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPointCloud_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPointCloud_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPointCloud_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPointCloud_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPointCloud_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPointCloud_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPointCloud_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPointCloud_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPointCloud_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPointCloud_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPointCloud_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPointCloud_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloud_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloud_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPointCloud_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPointCloud_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPointCloud_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPointCloud_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPointCloud_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPointCloud_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPointCloud_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPointCloud_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPointCloud_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPointCloud_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPointCloud_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPointCloud_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPointCloud_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPointCloud_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPointCloud_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPointCloud_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloud_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloud_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPointCloud_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPointCloud_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPointCloud_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPointCloud_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPointCloud_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPointCloud_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPointCloud_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPointCloud_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPointCloud_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPointCloud_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPointCloud_get_UseEntityColor(This,val)	\
    ( (This)->lpVtbl -> get_UseEntityColor(This,val) ) 

#define IAcadPointCloud_put_UseEntityColor(This,val)	\
    ( (This)->lpVtbl -> put_UseEntityColor(This,val) ) 

#define IAcadPointCloud_get_ShowIntensity(This,val)	\
    ( (This)->lpVtbl -> get_ShowIntensity(This,val) ) 

#define IAcadPointCloud_put_ShowIntensity(This,val)	\
    ( (This)->lpVtbl -> put_ShowIntensity(This,val) ) 

#define IAcadPointCloud_get_IntensityColorScheme(This,val)	\
    ( (This)->lpVtbl -> get_IntensityColorScheme(This,val) ) 

#define IAcadPointCloud_put_IntensityColorScheme(This,val)	\
    ( (This)->lpVtbl -> put_IntensityColorScheme(This,val) ) 

#define IAcadPointCloud_get_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloud_put_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloud_get_Rotation(This,val)	\
    ( (This)->lpVtbl -> get_Rotation(This,val) ) 

#define IAcadPointCloud_put_Rotation(This,val)	\
    ( (This)->lpVtbl -> put_Rotation(This,val) ) 

#define IAcadPointCloud_get_Width(This,val)	\
    ( (This)->lpVtbl -> get_Width(This,val) ) 

#define IAcadPointCloud_put_Width(This,val)	\
    ( (This)->lpVtbl -> put_Width(This,val) ) 

#define IAcadPointCloud_get_Length(This,val)	\
    ( (This)->lpVtbl -> get_Length(This,val) ) 

#define IAcadPointCloud_put_Length(This,val)	\
    ( (This)->lpVtbl -> put_Length(This,val) ) 

#define IAcadPointCloud_get_Height(This,val)	\
    ( (This)->lpVtbl -> get_Height(This,val) ) 

#define IAcadPointCloud_put_Height(This,val)	\
    ( (This)->lpVtbl -> put_Height(This,val) ) 

#define IAcadPointCloud_get_Scale(This,val)	\
    ( (This)->lpVtbl -> get_Scale(This,val) ) 

#define IAcadPointCloud_put_Scale(This,val)	\
    ( (This)->lpVtbl -> put_Scale(This,val) ) 

#define IAcadPointCloud_get_Name(This,val)	\
    ( (This)->lpVtbl -> get_Name(This,val) ) 

#define IAcadPointCloud_get_Path(This,val)	\
    ( (This)->lpVtbl -> get_Path(This,val) ) 

#define IAcadPointCloud_get_ShowClipped(This,val)	\
    ( (This)->lpVtbl -> get_ShowClipped(This,val) ) 

#define IAcadPointCloud_put_ShowClipped(This,val)	\
    ( (This)->lpVtbl -> put_ShowClipped(This,val) ) 

#define IAcadPointCloud_get_Locked(This,val)	\
    ( (This)->lpVtbl -> get_Locked(This,val) ) 

#define IAcadPointCloud_put_Locked(This,val)	\
    ( (This)->lpVtbl -> put_Locked(This,val) ) 

#define IAcadPointCloud_get_Stylization(This,val)	\
    ( (This)->lpVtbl -> get_Stylization(This,val) ) 

#define IAcadPointCloud_put_Stylization(This,val)	\
    ( (This)->lpVtbl -> put_Stylization(This,val) ) 

#define IAcadPointCloud_get_Unit(This,val)	\
    ( (This)->lpVtbl -> get_Unit(This,val) ) 

#define IAcadPointCloud_get_UnitFactor(This,val)	\
    ( (This)->lpVtbl -> get_UnitFactor(This,val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPointCloud_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPointCloud,0x5EB2EE02,0xA192,0x49FD,0x99,0xA6,0x40,0x00,0xE7,0x8D,0xD4,0x9C);

#ifdef __cplusplus

class DECLSPEC_UUID("5EB2EE02-A192-49FD-99A6-4000E78DD49C")
AcadPointCloud;
#endif

#ifndef __IAcadPointCloudEx_INTERFACE_DEFINED__
#define __IAcadPointCloudEx_INTERFACE_DEFINED__

/* interface IAcadPointCloudEx */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPointCloudEx,0xC2B920FC,0x9B3A,0x4012,0x9F,0xFF,0xEF,0xB1,0xFF,0x65,0x0D,0xBB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C2B920FC-9B3A-4012-9FFF-EFB1FF650DBB")
    IAcadPointCloudEx : public IAcadEntity
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Stylization( 
            /* [retval][out] */ AcPointCloudExStylizationType *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Stylization( 
            /* [in] */ AcPointCloudExStylizationType val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ColorScheme( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ColorScheme( 
            /* [in] */ int val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_InsertionPoint( 
            /* [retval][out] */ VARIANT *endPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_InsertionPoint( 
            /* [in] */ VARIANT endPoint) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Rotation( 
            /* [retval][out] */ ACAD_ANGLE *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Rotation( 
            /* [in] */ ACAD_ANGLE val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Scale( 
            /* [retval][out] */ ACAD_NOUNITS *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Scale( 
            /* [in] */ ACAD_NOUNITS val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ShowCropped( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ShowCropped( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Locked( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Locked( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Geolocate( 
            /* [retval][out] */ VARIANT_BOOL *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Geolocate( 
            /* [in] */ VARIANT_BOOL val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Unit( 
            /* [retval][out] */ BSTR *val) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_UnitFactor( 
            /* [retval][out] */ ACAD_NOUNITS *val) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPointCloudExVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPointCloudEx * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPointCloudEx * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPointCloudEx * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPointCloudEx * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPointCloudEx * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPointCloudEx * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPointCloudEx * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPointCloudEx * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPointCloudEx * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPointCloudEx * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPointCloudEx * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPointCloudEx * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPointCloudEx * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPointCloudEx * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPointCloudEx * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPointCloudEx * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPointCloudEx * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPointCloudEx * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Stylization )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ AcPointCloudExStylizationType *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Stylization )( 
            IAcadPointCloudEx * This,
            /* [in] */ AcPointCloudExStylizationType val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorScheme )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorScheme )( 
            IAcadPointCloudEx * This,
            /* [in] */ int val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT endPoint);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_ANGLE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadPointCloudEx * This,
            /* [in] */ ACAD_ANGLE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scale )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Scale )( 
            IAcadPointCloudEx * This,
            /* [in] */ ACAD_NOUNITS val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadPointCloudEx * This,
            /* [in] */ BSTR val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowCropped )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowCropped )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Locked )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Locked )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Geolocate )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Geolocate )( 
            IAcadPointCloudEx * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unit )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitFactor )( 
            IAcadPointCloudEx * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        END_INTERFACE
    } IAcadPointCloudExVtbl;

    interface IAcadPointCloudEx
    {
        CONST_VTBL struct IAcadPointCloudExVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPointCloudEx_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPointCloudEx_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPointCloudEx_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPointCloudEx_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPointCloudEx_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPointCloudEx_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPointCloudEx_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPointCloudEx_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPointCloudEx_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPointCloudEx_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPointCloudEx_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPointCloudEx_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPointCloudEx_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPointCloudEx_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPointCloudEx_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPointCloudEx_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPointCloudEx_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPointCloudEx_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPointCloudEx_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPointCloudEx_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPointCloudEx_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPointCloudEx_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPointCloudEx_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPointCloudEx_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPointCloudEx_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPointCloudEx_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPointCloudEx_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloudEx_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloudEx_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPointCloudEx_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPointCloudEx_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPointCloudEx_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPointCloudEx_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPointCloudEx_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPointCloudEx_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPointCloudEx_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPointCloudEx_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPointCloudEx_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPointCloudEx_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPointCloudEx_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPointCloudEx_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPointCloudEx_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPointCloudEx_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPointCloudEx_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPointCloudEx_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloudEx_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloudEx_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPointCloudEx_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPointCloudEx_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPointCloudEx_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPointCloudEx_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPointCloudEx_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPointCloudEx_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPointCloudEx_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPointCloudEx_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPointCloudEx_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPointCloudEx_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPointCloudEx_get_Stylization(This,val)	\
    ( (This)->lpVtbl -> get_Stylization(This,val) ) 

#define IAcadPointCloudEx_put_Stylization(This,val)	\
    ( (This)->lpVtbl -> put_Stylization(This,val) ) 

#define IAcadPointCloudEx_get_ColorScheme(This,val)	\
    ( (This)->lpVtbl -> get_ColorScheme(This,val) ) 

#define IAcadPointCloudEx_put_ColorScheme(This,val)	\
    ( (This)->lpVtbl -> put_ColorScheme(This,val) ) 

#define IAcadPointCloudEx_get_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloudEx_put_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloudEx_get_Rotation(This,val)	\
    ( (This)->lpVtbl -> get_Rotation(This,val) ) 

#define IAcadPointCloudEx_put_Rotation(This,val)	\
    ( (This)->lpVtbl -> put_Rotation(This,val) ) 

#define IAcadPointCloudEx_get_Scale(This,val)	\
    ( (This)->lpVtbl -> get_Scale(This,val) ) 

#define IAcadPointCloudEx_put_Scale(This,val)	\
    ( (This)->lpVtbl -> put_Scale(This,val) ) 

#define IAcadPointCloudEx_get_Name(This,val)	\
    ( (This)->lpVtbl -> get_Name(This,val) ) 

#define IAcadPointCloudEx_put_Name(This,val)	\
    ( (This)->lpVtbl -> put_Name(This,val) ) 

#define IAcadPointCloudEx_get_Path(This,val)	\
    ( (This)->lpVtbl -> get_Path(This,val) ) 

#define IAcadPointCloudEx_get_ShowCropped(This,val)	\
    ( (This)->lpVtbl -> get_ShowCropped(This,val) ) 

#define IAcadPointCloudEx_put_ShowCropped(This,val)	\
    ( (This)->lpVtbl -> put_ShowCropped(This,val) ) 

#define IAcadPointCloudEx_get_Locked(This,val)	\
    ( (This)->lpVtbl -> get_Locked(This,val) ) 

#define IAcadPointCloudEx_put_Locked(This,val)	\
    ( (This)->lpVtbl -> put_Locked(This,val) ) 

#define IAcadPointCloudEx_get_Geolocate(This,val)	\
    ( (This)->lpVtbl -> get_Geolocate(This,val) ) 

#define IAcadPointCloudEx_put_Geolocate(This,val)	\
    ( (This)->lpVtbl -> put_Geolocate(This,val) ) 

#define IAcadPointCloudEx_get_Unit(This,val)	\
    ( (This)->lpVtbl -> get_Unit(This,val) ) 

#define IAcadPointCloudEx_get_UnitFactor(This,val)	\
    ( (This)->lpVtbl -> get_UnitFactor(This,val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPointCloudEx_INTERFACE_DEFINED__ */


#ifndef __IAcadPointCloudEx2_INTERFACE_DEFINED__
#define __IAcadPointCloudEx2_INTERFACE_DEFINED__

/* interface IAcadPointCloudEx2 */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPointCloudEx2,0x9BF90F60,0xF1E9,0x4287,0xA3,0x67,0x80,0x6C,0x35,0x2C,0x6E,0x3A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9BF90F60-F1E9-4287-A367-806C352C6E3A")
    IAcadPointCloudEx2 : public IAcadPointCloudEx
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Segmentation( 
            /* [retval][out] */ BSTR *val) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPointCloudEx2Vtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPointCloudEx2 * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPointCloudEx2 * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPointCloudEx2 * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPointCloudEx2 * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Handle )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *Handle);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectName )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *ObjectName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetXData )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR AppName,
            /* [out] */ VARIANT *XDataType,
            /* [out] */ VARIANT *XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetXData )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT XDataType,
            /* [in] */ VARIANT XDataValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPointCloudEx2 * This);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectID )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ LONG_PTR *ObjectId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ LPDISPATCH *ApplicationObject);
        
        /* [helpstringcontext][helpcontext][hidden][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HasExtensionDictionary )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT_BOOL *bHasDictionary);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetExtensionDictionary )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ IAcadDictionary **pExtDictionary);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OwnerID )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ LONG_PTR *OwnerId);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Document )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ LPDISPATCH *pDocument);
        
        /* [helpstringcontext][helpcontext][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadPointCloudEx2 * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColor )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ IAcadAcCmColor **pColor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColor )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ IAcadAcCmColor *pColor);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Layer )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *Layer);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Layer )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR Layer);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Linetype )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *Linetype);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Linetype )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR Linetype);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LinetypeScale )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_NOUNITS *ltScale);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LinetypeScale )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ ACAD_NOUNITS ltScale);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT_BOOL *bVisible);
        
        /* [helpstringcontext][helpcontext][nonbrowsable][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT_BOOL bVisible);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayPolar )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ int NumberOfObjects,
            /* [in] */ double AngleToFill,
            /* [in] */ VARIANT CenterPoint,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ArrayRectangular )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ int NumberOfRows,
            /* [in] */ int NumberOfColumns,
            /* [in] */ int NumberOfLevels,
            /* [in] */ double DistBetweenRows,
            /* [in] */ double DistBetweenCols,
            /* [in] */ double DistBetweenLevels,
            /* [retval][out] */ VARIANT *pArrayObjs);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT_BOOL HighlightFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Copy )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ LPDISPATCH *pCopyObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT FromPoint,
            /* [in] */ VARIANT ToPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Rotate3D )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [in] */ double RotationAngle);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT Point1,
            /* [in] */ VARIANT Point2,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Mirror3D )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT point1,
            /* [in] */ VARIANT point2,
            /* [in] */ VARIANT point3,
            /* [retval][out] */ LPDISPATCH *pMirrorObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ScaleEntity )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT BasePoint,
            /* [in] */ double ScaleFactor);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *TransformBy )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT TransformationMatrix);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadPointCloudEx2 * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetBoundingBox )( 
            IAcadPointCloudEx2 * This,
            /* [out] */ VARIANT *MinPoint,
            /* [out] */ VARIANT *MaxPoint);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IntersectWith )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ LPDISPATCH IntersectObject,
            /* [in] */ AcExtendOption option,
            /* [retval][out] */ VARIANT *intPoints);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotStyleName )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *plotStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_PlotStyleName )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR plotStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Lineweight )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_LWEIGHT *lineweight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Lineweight )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ ACAD_LWEIGHT lineweight);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityTransparency )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *transparency);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EntityTransparency )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR transparency);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Hyperlinks )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ IAcadHyperlinks **HyperLinks);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Material )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *Material);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Material )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR Material);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityName )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *EntityName);
        
        /* [helpstringcontext][nonbrowsable][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EntityType )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ long *entType);
        
        /* [helpstringcontext][helpcontext][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Color )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][hidden][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Color )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ ACAD_COLOR Color);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Stylization )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ AcPointCloudExStylizationType *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Stylization )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ AcPointCloudExStylizationType val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorScheme )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorScheme )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ int val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_InsertionPoint )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT *endPoint);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_InsertionPoint )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT endPoint);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Rotation )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_ANGLE *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Rotation )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ ACAD_ANGLE val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Scale )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Scale )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ ACAD_NOUNITS val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ BSTR val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowCropped )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowCropped )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Locked )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Locked )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Geolocate )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ VARIANT_BOOL *val);
        
        /* [helpcontext][helpstringcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Geolocate )( 
            IAcadPointCloudEx2 * This,
            /* [in] */ VARIANT_BOOL val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Unit )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UnitFactor )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ ACAD_NOUNITS *val);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Segmentation )( 
            IAcadPointCloudEx2 * This,
            /* [retval][out] */ BSTR *val);
        
        END_INTERFACE
    } IAcadPointCloudEx2Vtbl;

    interface IAcadPointCloudEx2
    {
        CONST_VTBL struct IAcadPointCloudEx2Vtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPointCloudEx2_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPointCloudEx2_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPointCloudEx2_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPointCloudEx2_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPointCloudEx2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPointCloudEx2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPointCloudEx2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPointCloudEx2_get_Handle(This,Handle)	\
    ( (This)->lpVtbl -> get_Handle(This,Handle) ) 

#define IAcadPointCloudEx2_get_ObjectName(This,ObjectName)	\
    ( (This)->lpVtbl -> get_ObjectName(This,ObjectName) ) 

#define IAcadPointCloudEx2_GetXData(This,AppName,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> GetXData(This,AppName,XDataType,XDataValue) ) 

#define IAcadPointCloudEx2_SetXData(This,XDataType,XDataValue)	\
    ( (This)->lpVtbl -> SetXData(This,XDataType,XDataValue) ) 

#define IAcadPointCloudEx2_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPointCloudEx2_get_ObjectID(This,ObjectId)	\
    ( (This)->lpVtbl -> get_ObjectID(This,ObjectId) ) 

#define IAcadPointCloudEx2_get_Application(This,ApplicationObject)	\
    ( (This)->lpVtbl -> get_Application(This,ApplicationObject) ) 

#define IAcadPointCloudEx2_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadPointCloudEx2_get_HasExtensionDictionary(This,bHasDictionary)	\
    ( (This)->lpVtbl -> get_HasExtensionDictionary(This,bHasDictionary) ) 

#define IAcadPointCloudEx2_GetExtensionDictionary(This,pExtDictionary)	\
    ( (This)->lpVtbl -> GetExtensionDictionary(This,pExtDictionary) ) 

#define IAcadPointCloudEx2_get_OwnerID(This,OwnerId)	\
    ( (This)->lpVtbl -> get_OwnerID(This,OwnerId) ) 

#define IAcadPointCloudEx2_get_Document(This,pDocument)	\
    ( (This)->lpVtbl -> get_Document(This,pDocument) ) 

#define IAcadPointCloudEx2_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 


#define IAcadPointCloudEx2_get_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> get_TrueColor(This,pColor) ) 

#define IAcadPointCloudEx2_put_TrueColor(This,pColor)	\
    ( (This)->lpVtbl -> put_TrueColor(This,pColor) ) 

#define IAcadPointCloudEx2_get_Layer(This,Layer)	\
    ( (This)->lpVtbl -> get_Layer(This,Layer) ) 

#define IAcadPointCloudEx2_put_Layer(This,Layer)	\
    ( (This)->lpVtbl -> put_Layer(This,Layer) ) 

#define IAcadPointCloudEx2_get_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> get_Linetype(This,Linetype) ) 

#define IAcadPointCloudEx2_put_Linetype(This,Linetype)	\
    ( (This)->lpVtbl -> put_Linetype(This,Linetype) ) 

#define IAcadPointCloudEx2_get_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> get_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloudEx2_put_LinetypeScale(This,ltScale)	\
    ( (This)->lpVtbl -> put_LinetypeScale(This,ltScale) ) 

#define IAcadPointCloudEx2_get_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> get_Visible(This,bVisible) ) 

#define IAcadPointCloudEx2_put_Visible(This,bVisible)	\
    ( (This)->lpVtbl -> put_Visible(This,bVisible) ) 

#define IAcadPointCloudEx2_ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayPolar(This,NumberOfObjects,AngleToFill,CenterPoint,pArrayObjs) ) 

#define IAcadPointCloudEx2_ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs)	\
    ( (This)->lpVtbl -> ArrayRectangular(This,NumberOfRows,NumberOfColumns,NumberOfLevels,DistBetweenRows,DistBetweenCols,DistBetweenLevels,pArrayObjs) ) 

#define IAcadPointCloudEx2_Highlight(This,HighlightFlag)	\
    ( (This)->lpVtbl -> Highlight(This,HighlightFlag) ) 

#define IAcadPointCloudEx2_Copy(This,pCopyObj)	\
    ( (This)->lpVtbl -> Copy(This,pCopyObj) ) 

#define IAcadPointCloudEx2_Move(This,FromPoint,ToPoint)	\
    ( (This)->lpVtbl -> Move(This,FromPoint,ToPoint) ) 

#define IAcadPointCloudEx2_Rotate(This,BasePoint,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate(This,BasePoint,RotationAngle) ) 

#define IAcadPointCloudEx2_Rotate3D(This,Point1,Point2,RotationAngle)	\
    ( (This)->lpVtbl -> Rotate3D(This,Point1,Point2,RotationAngle) ) 

#define IAcadPointCloudEx2_Mirror(This,Point1,Point2,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror(This,Point1,Point2,pMirrorObj) ) 

#define IAcadPointCloudEx2_Mirror3D(This,point1,point2,point3,pMirrorObj)	\
    ( (This)->lpVtbl -> Mirror3D(This,point1,point2,point3,pMirrorObj) ) 

#define IAcadPointCloudEx2_ScaleEntity(This,BasePoint,ScaleFactor)	\
    ( (This)->lpVtbl -> ScaleEntity(This,BasePoint,ScaleFactor) ) 

#define IAcadPointCloudEx2_TransformBy(This,TransformationMatrix)	\
    ( (This)->lpVtbl -> TransformBy(This,TransformationMatrix) ) 

#define IAcadPointCloudEx2_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadPointCloudEx2_GetBoundingBox(This,MinPoint,MaxPoint)	\
    ( (This)->lpVtbl -> GetBoundingBox(This,MinPoint,MaxPoint) ) 

#define IAcadPointCloudEx2_IntersectWith(This,IntersectObject,option,intPoints)	\
    ( (This)->lpVtbl -> IntersectWith(This,IntersectObject,option,intPoints) ) 

#define IAcadPointCloudEx2_get_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> get_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloudEx2_put_PlotStyleName(This,plotStyle)	\
    ( (This)->lpVtbl -> put_PlotStyleName(This,plotStyle) ) 

#define IAcadPointCloudEx2_get_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> get_Lineweight(This,lineweight) ) 

#define IAcadPointCloudEx2_put_Lineweight(This,lineweight)	\
    ( (This)->lpVtbl -> put_Lineweight(This,lineweight) ) 

#define IAcadPointCloudEx2_get_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> get_EntityTransparency(This,transparency) ) 

#define IAcadPointCloudEx2_put_EntityTransparency(This,transparency)	\
    ( (This)->lpVtbl -> put_EntityTransparency(This,transparency) ) 

#define IAcadPointCloudEx2_get_Hyperlinks(This,HyperLinks)	\
    ( (This)->lpVtbl -> get_Hyperlinks(This,HyperLinks) ) 

#define IAcadPointCloudEx2_get_Material(This,Material)	\
    ( (This)->lpVtbl -> get_Material(This,Material) ) 

#define IAcadPointCloudEx2_put_Material(This,Material)	\
    ( (This)->lpVtbl -> put_Material(This,Material) ) 

#define IAcadPointCloudEx2_get_EntityName(This,EntityName)	\
    ( (This)->lpVtbl -> get_EntityName(This,EntityName) ) 

#define IAcadPointCloudEx2_get_EntityType(This,entType)	\
    ( (This)->lpVtbl -> get_EntityType(This,entType) ) 

#define IAcadPointCloudEx2_get_Color(This,Color)	\
    ( (This)->lpVtbl -> get_Color(This,Color) ) 

#define IAcadPointCloudEx2_put_Color(This,Color)	\
    ( (This)->lpVtbl -> put_Color(This,Color) ) 


#define IAcadPointCloudEx2_get_Stylization(This,val)	\
    ( (This)->lpVtbl -> get_Stylization(This,val) ) 

#define IAcadPointCloudEx2_put_Stylization(This,val)	\
    ( (This)->lpVtbl -> put_Stylization(This,val) ) 

#define IAcadPointCloudEx2_get_ColorScheme(This,val)	\
    ( (This)->lpVtbl -> get_ColorScheme(This,val) ) 

#define IAcadPointCloudEx2_put_ColorScheme(This,val)	\
    ( (This)->lpVtbl -> put_ColorScheme(This,val) ) 

#define IAcadPointCloudEx2_get_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> get_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloudEx2_put_InsertionPoint(This,endPoint)	\
    ( (This)->lpVtbl -> put_InsertionPoint(This,endPoint) ) 

#define IAcadPointCloudEx2_get_Rotation(This,val)	\
    ( (This)->lpVtbl -> get_Rotation(This,val) ) 

#define IAcadPointCloudEx2_put_Rotation(This,val)	\
    ( (This)->lpVtbl -> put_Rotation(This,val) ) 

#define IAcadPointCloudEx2_get_Scale(This,val)	\
    ( (This)->lpVtbl -> get_Scale(This,val) ) 

#define IAcadPointCloudEx2_put_Scale(This,val)	\
    ( (This)->lpVtbl -> put_Scale(This,val) ) 

#define IAcadPointCloudEx2_get_Name(This,val)	\
    ( (This)->lpVtbl -> get_Name(This,val) ) 

#define IAcadPointCloudEx2_put_Name(This,val)	\
    ( (This)->lpVtbl -> put_Name(This,val) ) 

#define IAcadPointCloudEx2_get_Path(This,val)	\
    ( (This)->lpVtbl -> get_Path(This,val) ) 

#define IAcadPointCloudEx2_get_ShowCropped(This,val)	\
    ( (This)->lpVtbl -> get_ShowCropped(This,val) ) 

#define IAcadPointCloudEx2_put_ShowCropped(This,val)	\
    ( (This)->lpVtbl -> put_ShowCropped(This,val) ) 

#define IAcadPointCloudEx2_get_Locked(This,val)	\
    ( (This)->lpVtbl -> get_Locked(This,val) ) 

#define IAcadPointCloudEx2_put_Locked(This,val)	\
    ( (This)->lpVtbl -> put_Locked(This,val) ) 

#define IAcadPointCloudEx2_get_Geolocate(This,val)	\
    ( (This)->lpVtbl -> get_Geolocate(This,val) ) 

#define IAcadPointCloudEx2_put_Geolocate(This,val)	\
    ( (This)->lpVtbl -> put_Geolocate(This,val) ) 

#define IAcadPointCloudEx2_get_Unit(This,val)	\
    ( (This)->lpVtbl -> get_Unit(This,val) ) 

#define IAcadPointCloudEx2_get_UnitFactor(This,val)	\
    ( (This)->lpVtbl -> get_UnitFactor(This,val) ) 


#define IAcadPointCloudEx2_get_Segmentation(This,val)	\
    ( (This)->lpVtbl -> get_Segmentation(This,val) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPointCloudEx2_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPointCloudEx,0xFEFEE828,0xE288,0x45B1,0xBB,0x21,0xDF,0x6C,0xAE,0xA0,0xD9,0x0B);

#ifdef __cplusplus

class DECLSPEC_UUID("FEFEE828-E288-45B1-BB21-DF6CAEA0D90B")
AcadPointCloudEx;
#endif

#ifndef __IAcadFileDependency_INTERFACE_DEFINED__
#define __IAcadFileDependency_INTERFACE_DEFINED__

/* interface IAcadFileDependency */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadFileDependency,0x2558C7C7,0x4748,0x41E8,0x9C,0x00,0x23,0xC1,0xCF,0x1F,0x54,0xEB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2558C7C7-4748-41E8-9C00-23C1CF1F54EB")
    IAcadFileDependency : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FullFileName( 
            /* [retval][out] */ BSTR *fullFileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileName( 
            /* [retval][out] */ BSTR *fileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FoundPath( 
            /* [retval][out] */ BSTR *foundPath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FingerprintGuid( 
            /* [retval][out] */ BSTR *fingerprintGuid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_VersionGuid( 
            /* [retval][out] */ BSTR *versionGuid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Feature( 
            /* [retval][out] */ BSTR *feature) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsModified( 
            /* [retval][out] */ VARIANT_BOOL *isModified) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_AffectsGraphics( 
            /* [retval][out] */ VARIANT_BOOL *affectsGraphics) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ long *index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TimeStamp( 
            /* [retval][out] */ long *timeStamp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FileSize( 
            /* [retval][out] */ long *fileSize) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReferenceCount( 
            /* [retval][out] */ long *refCount) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadFileDependencyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadFileDependency * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadFileDependency * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadFileDependency * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadFileDependency * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadFileDependency * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadFileDependency * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadFileDependency * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullFileName )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *fullFileName);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileName )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *fileName);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FoundPath )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *foundPath);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FingerprintGuid )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *fingerprintGuid);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VersionGuid )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *versionGuid);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Feature )( 
            IAcadFileDependency * This,
            /* [retval][out] */ BSTR *feature);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsModified )( 
            IAcadFileDependency * This,
            /* [retval][out] */ VARIANT_BOOL *isModified);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_AffectsGraphics )( 
            IAcadFileDependency * This,
            /* [retval][out] */ VARIANT_BOOL *affectsGraphics);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IAcadFileDependency * This,
            /* [retval][out] */ long *index);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TimeStamp )( 
            IAcadFileDependency * This,
            /* [retval][out] */ long *timeStamp);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileSize )( 
            IAcadFileDependency * This,
            /* [retval][out] */ long *fileSize);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReferenceCount )( 
            IAcadFileDependency * This,
            /* [retval][out] */ long *refCount);
        
        END_INTERFACE
    } IAcadFileDependencyVtbl;

    interface IAcadFileDependency
    {
        CONST_VTBL struct IAcadFileDependencyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadFileDependency_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadFileDependency_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadFileDependency_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadFileDependency_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadFileDependency_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadFileDependency_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadFileDependency_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadFileDependency_get_FullFileName(This,fullFileName)	\
    ( (This)->lpVtbl -> get_FullFileName(This,fullFileName) ) 

#define IAcadFileDependency_get_FileName(This,fileName)	\
    ( (This)->lpVtbl -> get_FileName(This,fileName) ) 

#define IAcadFileDependency_get_FoundPath(This,foundPath)	\
    ( (This)->lpVtbl -> get_FoundPath(This,foundPath) ) 

#define IAcadFileDependency_get_FingerprintGuid(This,fingerprintGuid)	\
    ( (This)->lpVtbl -> get_FingerprintGuid(This,fingerprintGuid) ) 

#define IAcadFileDependency_get_VersionGuid(This,versionGuid)	\
    ( (This)->lpVtbl -> get_VersionGuid(This,versionGuid) ) 

#define IAcadFileDependency_get_Feature(This,feature)	\
    ( (This)->lpVtbl -> get_Feature(This,feature) ) 

#define IAcadFileDependency_get_IsModified(This,isModified)	\
    ( (This)->lpVtbl -> get_IsModified(This,isModified) ) 

#define IAcadFileDependency_get_AffectsGraphics(This,affectsGraphics)	\
    ( (This)->lpVtbl -> get_AffectsGraphics(This,affectsGraphics) ) 

#define IAcadFileDependency_get_Index(This,index)	\
    ( (This)->lpVtbl -> get_Index(This,index) ) 

#define IAcadFileDependency_get_TimeStamp(This,timeStamp)	\
    ( (This)->lpVtbl -> get_TimeStamp(This,timeStamp) ) 

#define IAcadFileDependency_get_FileSize(This,fileSize)	\
    ( (This)->lpVtbl -> get_FileSize(This,fileSize) ) 

#define IAcadFileDependency_get_ReferenceCount(This,refCount)	\
    ( (This)->lpVtbl -> get_ReferenceCount(This,refCount) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadFileDependency_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadFileDependency,0x9603023B,0x7BD8,0x4D49,0x9C,0xFE,0x94,0x26,0x5E,0x21,0xCF,0x2C);

#ifdef __cplusplus

class DECLSPEC_UUID("9603023B-7BD8-4D49-9CFE-94265E21CF2C")
AcadFileDependency;
#endif

#ifndef __IAcadFileDependencies_INTERFACE_DEFINED__
#define __IAcadFileDependencies_INTERFACE_DEFINED__

/* interface IAcadFileDependencies */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadFileDependencies,0xC99F9D8B,0x941F,0x4200,0xA2,0x9F,0x18,0xDA,0x00,0xBF,0xC2,0x80);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C99F9D8B-941F-4200-A29F-18DA00BFC280")
    IAcadFileDependencies : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadFileDependency **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *pAppObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE CreateEntry( 
            /* [in] */ BSTR feature,
            /* [in] */ BSTR fullFileName,
            /* [in] */ VARIANT_BOOL affectsGraphics,
            /* [in] */ VARIANT_BOOL noIncrement,
            /* [retval][out] */ long *index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE IndexOf( 
            /* [in] */ BSTR feature,
            /* [in] */ BSTR fullFileName,
            /* [retval][out] */ long *index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveEntry( 
            /* [in] */ long index,
            /* [in] */ VARIANT_BOOL forceRemove) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UpdateEntry( 
            /* [in] */ long index) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadFileDependenciesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadFileDependencies * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadFileDependencies * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadFileDependencies * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadFileDependencies * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadFileDependencies * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadFileDependencies * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadFileDependencies * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadFileDependencies * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadFileDependency **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadFileDependencies * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadFileDependencies * This,
            /* [retval][out] */ LPDISPATCH *pAppObj);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadFileDependencies * This,
            /* [retval][out] */ long *pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CreateEntry )( 
            IAcadFileDependencies * This,
            /* [in] */ BSTR feature,
            /* [in] */ BSTR fullFileName,
            /* [in] */ VARIANT_BOOL affectsGraphics,
            /* [in] */ VARIANT_BOOL noIncrement,
            /* [retval][out] */ long *index);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *IndexOf )( 
            IAcadFileDependencies * This,
            /* [in] */ BSTR feature,
            /* [in] */ BSTR fullFileName,
            /* [retval][out] */ long *index);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveEntry )( 
            IAcadFileDependencies * This,
            /* [in] */ long index,
            /* [in] */ VARIANT_BOOL forceRemove);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UpdateEntry )( 
            IAcadFileDependencies * This,
            /* [in] */ long index);
        
        END_INTERFACE
    } IAcadFileDependenciesVtbl;

    interface IAcadFileDependencies
    {
        CONST_VTBL struct IAcadFileDependenciesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadFileDependencies_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadFileDependencies_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadFileDependencies_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadFileDependencies_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadFileDependencies_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadFileDependencies_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadFileDependencies_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadFileDependencies_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadFileDependencies_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadFileDependencies_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadFileDependencies_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadFileDependencies_CreateEntry(This,feature,fullFileName,affectsGraphics,noIncrement,index)	\
    ( (This)->lpVtbl -> CreateEntry(This,feature,fullFileName,affectsGraphics,noIncrement,index) ) 

#define IAcadFileDependencies_IndexOf(This,feature,fullFileName,index)	\
    ( (This)->lpVtbl -> IndexOf(This,feature,fullFileName,index) ) 

#define IAcadFileDependencies_RemoveEntry(This,index,forceRemove)	\
    ( (This)->lpVtbl -> RemoveEntry(This,index,forceRemove) ) 

#define IAcadFileDependencies_UpdateEntry(This,index)	\
    ( (This)->lpVtbl -> UpdateEntry(This,index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadFileDependencies_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadFileDependencies,0x8551E0B7,0x331A,0x4CD7,0x92,0x41,0x02,0x84,0xBA,0x9A,0xB0,0x11);

#ifdef __cplusplus

class DECLSPEC_UUID("8551E0B7-331A-4CD7-9241-0284BA9AB011")
AcadFileDependencies;
#endif

#ifndef __IAcadSummaryInfo_INTERFACE_DEFINED__
#define __IAcadSummaryInfo_INTERFACE_DEFINED__

/* interface IAcadSummaryInfo */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSummaryInfo,0x819DEE7F,0x4D72,0x4AFF,0xA4,0x15,0xFF,0x83,0x2C,0x94,0x39,0x83);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("819DEE7F-4D72-4AFF-A415-FF832C943983")
    IAcadSummaryInfo : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Author( 
            /* [retval][out] */ BSTR *pAuthor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Author( 
            /* [in] */ BSTR author) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Comments( 
            /* [retval][out] */ BSTR *pComments) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Comments( 
            /* [in] */ BSTR author) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_HyperlinkBase( 
            /* [retval][out] */ BSTR *pHyperlinkBase) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_HyperlinkBase( 
            /* [in] */ BSTR hyperlinkBase) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Keywords( 
            /* [retval][out] */ BSTR *pKeywords) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Keywords( 
            /* [in] */ BSTR keywords) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LastSavedBy( 
            /* [retval][out] */ BSTR *pLastSavedBy) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LastSavedBy( 
            /* [in] */ BSTR lastSavedBy) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RevisionNumber( 
            /* [retval][out] */ BSTR *pRevisionNumber) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RevisionNumber( 
            /* [in] */ BSTR revisionNumber) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Subject( 
            /* [retval][out] */ BSTR *pSubject) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Subject( 
            /* [in] */ BSTR subject) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Title( 
            /* [retval][out] */ BSTR *pTitle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Title( 
            /* [in] */ BSTR title) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE NumCustomInfo( 
            /* [retval][out] */ int *index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCustomByIndex( 
            /* [in] */ int index,
            /* [out] */ BSTR *pKey,
            /* [out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetCustomByKey( 
            /* [in] */ BSTR key,
            /* [out] */ BSTR *pValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCustomByIndex( 
            /* [in] */ int index,
            /* [in] */ BSTR key,
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetCustomByKey( 
            /* [in] */ BSTR key,
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddCustomInfo( 
            /* [in] */ BSTR key,
            /* [in] */ BSTR value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveCustomByIndex( 
            /* [in] */ int index) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveCustomByKey( 
            /* [in] */ BSTR key) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSummaryInfoVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSummaryInfo * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSummaryInfo * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSummaryInfo * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSummaryInfo * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSummaryInfo * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSummaryInfo * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSummaryInfo * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Author )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pAuthor);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Author )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR author);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Comments )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pComments);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Comments )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR author);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HyperlinkBase )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pHyperlinkBase);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HyperlinkBase )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR hyperlinkBase);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Keywords )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pKeywords);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Keywords )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR keywords);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LastSavedBy )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pLastSavedBy);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LastSavedBy )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR lastSavedBy);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RevisionNumber )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pRevisionNumber);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RevisionNumber )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR revisionNumber);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pSubject);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Subject )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR subject);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Title )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ BSTR *pTitle);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Title )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR title);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *NumCustomInfo )( 
            IAcadSummaryInfo * This,
            /* [retval][out] */ int *index);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomByIndex )( 
            IAcadSummaryInfo * This,
            /* [in] */ int index,
            /* [out] */ BSTR *pKey,
            /* [out] */ BSTR *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetCustomByKey )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR key,
            /* [out] */ BSTR *pValue);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCustomByIndex )( 
            IAcadSummaryInfo * This,
            /* [in] */ int index,
            /* [in] */ BSTR key,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetCustomByKey )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR key,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddCustomInfo )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR key,
            /* [in] */ BSTR value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveCustomByIndex )( 
            IAcadSummaryInfo * This,
            /* [in] */ int index);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveCustomByKey )( 
            IAcadSummaryInfo * This,
            /* [in] */ BSTR key);
        
        END_INTERFACE
    } IAcadSummaryInfoVtbl;

    interface IAcadSummaryInfo
    {
        CONST_VTBL struct IAcadSummaryInfoVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSummaryInfo_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSummaryInfo_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSummaryInfo_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSummaryInfo_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSummaryInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSummaryInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSummaryInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSummaryInfo_get_Author(This,pAuthor)	\
    ( (This)->lpVtbl -> get_Author(This,pAuthor) ) 

#define IAcadSummaryInfo_put_Author(This,author)	\
    ( (This)->lpVtbl -> put_Author(This,author) ) 

#define IAcadSummaryInfo_get_Comments(This,pComments)	\
    ( (This)->lpVtbl -> get_Comments(This,pComments) ) 

#define IAcadSummaryInfo_put_Comments(This,author)	\
    ( (This)->lpVtbl -> put_Comments(This,author) ) 

#define IAcadSummaryInfo_get_HyperlinkBase(This,pHyperlinkBase)	\
    ( (This)->lpVtbl -> get_HyperlinkBase(This,pHyperlinkBase) ) 

#define IAcadSummaryInfo_put_HyperlinkBase(This,hyperlinkBase)	\
    ( (This)->lpVtbl -> put_HyperlinkBase(This,hyperlinkBase) ) 

#define IAcadSummaryInfo_get_Keywords(This,pKeywords)	\
    ( (This)->lpVtbl -> get_Keywords(This,pKeywords) ) 

#define IAcadSummaryInfo_put_Keywords(This,keywords)	\
    ( (This)->lpVtbl -> put_Keywords(This,keywords) ) 

#define IAcadSummaryInfo_get_LastSavedBy(This,pLastSavedBy)	\
    ( (This)->lpVtbl -> get_LastSavedBy(This,pLastSavedBy) ) 

#define IAcadSummaryInfo_put_LastSavedBy(This,lastSavedBy)	\
    ( (This)->lpVtbl -> put_LastSavedBy(This,lastSavedBy) ) 

#define IAcadSummaryInfo_get_RevisionNumber(This,pRevisionNumber)	\
    ( (This)->lpVtbl -> get_RevisionNumber(This,pRevisionNumber) ) 

#define IAcadSummaryInfo_put_RevisionNumber(This,revisionNumber)	\
    ( (This)->lpVtbl -> put_RevisionNumber(This,revisionNumber) ) 

#define IAcadSummaryInfo_get_Subject(This,pSubject)	\
    ( (This)->lpVtbl -> get_Subject(This,pSubject) ) 

#define IAcadSummaryInfo_put_Subject(This,subject)	\
    ( (This)->lpVtbl -> put_Subject(This,subject) ) 

#define IAcadSummaryInfo_get_Title(This,pTitle)	\
    ( (This)->lpVtbl -> get_Title(This,pTitle) ) 

#define IAcadSummaryInfo_put_Title(This,title)	\
    ( (This)->lpVtbl -> put_Title(This,title) ) 

#define IAcadSummaryInfo_NumCustomInfo(This,index)	\
    ( (This)->lpVtbl -> NumCustomInfo(This,index) ) 

#define IAcadSummaryInfo_GetCustomByIndex(This,index,pKey,pValue)	\
    ( (This)->lpVtbl -> GetCustomByIndex(This,index,pKey,pValue) ) 

#define IAcadSummaryInfo_GetCustomByKey(This,key,pValue)	\
    ( (This)->lpVtbl -> GetCustomByKey(This,key,pValue) ) 

#define IAcadSummaryInfo_SetCustomByIndex(This,index,key,value)	\
    ( (This)->lpVtbl -> SetCustomByIndex(This,index,key,value) ) 

#define IAcadSummaryInfo_SetCustomByKey(This,key,value)	\
    ( (This)->lpVtbl -> SetCustomByKey(This,key,value) ) 

#define IAcadSummaryInfo_AddCustomInfo(This,key,value)	\
    ( (This)->lpVtbl -> AddCustomInfo(This,key,value) ) 

#define IAcadSummaryInfo_RemoveCustomByIndex(This,index)	\
    ( (This)->lpVtbl -> RemoveCustomByIndex(This,index) ) 

#define IAcadSummaryInfo_RemoveCustomByKey(This,key)	\
    ( (This)->lpVtbl -> RemoveCustomByKey(This,key) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSummaryInfo_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSummaryInfo,0xE8C500E8,0x689E,0x4B2E,0x9D,0x71,0x3A,0x89,0xB9,0x69,0x6C,0x0A);

#ifdef __cplusplus

class DECLSPEC_UUID("E8C500E8-689E-4B2E-9D71-3A89B9696C0A")
AcadSummaryInfo;
#endif

#ifndef __IAcadDatabasePreferences_INTERFACE_DEFINED__
#define __IAcadDatabasePreferences_INTERFACE_DEFINED__

/* interface IAcadDatabasePreferences */
/* [unique][helpcontext][helpstringcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDatabasePreferences,0x0EFC090C,0x9E38,0x425A,0xA1,0x52,0xD9,0x06,0x0D,0xE7,0xE9,0x6B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0EFC090C-9E38-425A-A152-D9060DE7E96B")
    IAcadDatabasePreferences : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ LPDISPATCH *pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SolidFill( 
            /* [retval][out] */ VARIANT_BOOL *Fill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SolidFill( 
            /* [in] */ VARIANT_BOOL Fill) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XRefEdit( 
            /* [retval][out] */ VARIANT_BOOL *Edit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_XRefEdit( 
            /* [in] */ VARIANT_BOOL Edit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_XRefLayerVisibility( 
            /* [retval][out] */ VARIANT_BOOL *XRefLayerVis) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_XRefLayerVisibility( 
            /* [in] */ VARIANT_BOOL XRefLayerVis) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_OLELaunch( 
            /* [retval][out] */ VARIANT_BOOL *Launch) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_OLELaunch( 
            /* [in] */ VARIANT_BOOL Launch) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_AllowLongSymbolNames( 
            /* [retval][out] */ VARIANT_BOOL *LongNames) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_AllowLongSymbolNames( 
            /* [in] */ VARIANT_BOOL LongNames) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortBySelection( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortBySelection( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortBySnap( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortBySnap( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortByRedraws( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortByRedraws( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortByRegens( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortByRegens( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortByPlotting( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortByPlotting( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectSortByPSOutput( 
            /* [retval][out] */ VARIANT_BOOL *Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectSortByPSOutput( 
            /* [in] */ VARIANT_BOOL Sort) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ContourLinesPerSurface( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ContourLinesPerSurface( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DisplaySilhouette( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DisplaySilhouette( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_MaxActiveViewports( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_MaxActiveViewports( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RenderSmoothness( 
            /* [in] */ double path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RenderSmoothness( 
            /* [retval][out] */ double *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_SegmentPerPolyline( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SegmentPerPolyline( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_TextFrameDisplay( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_TextFrameDisplay( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineWeight( 
            /* [in] */ AcLineWeight path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineWeight( 
            /* [retval][out] */ AcLineWeight *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_LineWeightDisplay( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_LineWeightDisplay( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDatabasePreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDatabasePreferences * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDatabasePreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDatabasePreferences * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDatabasePreferences * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDatabasePreferences * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDatabasePreferences * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDatabasePreferences * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ LPDISPATCH *pAppObj);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SolidFill )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Fill);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SolidFill )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Fill);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefEdit )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Edit);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XRefEdit )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Edit);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefLayerVisibility )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *XRefLayerVis);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XRefLayerVisibility )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL XRefLayerVis);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OLELaunch )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Launch);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OLELaunch )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Launch);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AllowLongSymbolNames )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *LongNames);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AllowLongSymbolNames )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL LongNames);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortBySelection )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortBySelection )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortBySnap )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortBySnap )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortByRedraws )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortByRedraws )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortByRegens )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortByRegens )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortByPlotting )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortByPlotting )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSortByPSOutput )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSortByPSOutput )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL Sort);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContourLinesPerSurface )( 
            IAcadDatabasePreferences * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContourLinesPerSurface )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplaySilhouette )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplaySilhouette )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxActiveViewports )( 
            IAcadDatabasePreferences * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxActiveViewports )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RenderSmoothness )( 
            IAcadDatabasePreferences * This,
            /* [in] */ double path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RenderSmoothness )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ double *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SegmentPerPolyline )( 
            IAcadDatabasePreferences * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SegmentPerPolyline )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFrameDisplay )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFrameDisplay )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineWeight )( 
            IAcadDatabasePreferences * This,
            /* [in] */ AcLineWeight path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineWeight )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ AcLineWeight *path);
        
        /* [helpstringcontext][helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LineWeightDisplay )( 
            IAcadDatabasePreferences * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LineWeightDisplay )( 
            IAcadDatabasePreferences * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        END_INTERFACE
    } IAcadDatabasePreferencesVtbl;

    interface IAcadDatabasePreferences
    {
        CONST_VTBL struct IAcadDatabasePreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDatabasePreferences_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDatabasePreferences_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDatabasePreferences_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDatabasePreferences_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDatabasePreferences_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDatabasePreferences_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDatabasePreferences_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDatabasePreferences_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadDatabasePreferences_get_SolidFill(This,Fill)	\
    ( (This)->lpVtbl -> get_SolidFill(This,Fill) ) 

#define IAcadDatabasePreferences_put_SolidFill(This,Fill)	\
    ( (This)->lpVtbl -> put_SolidFill(This,Fill) ) 

#define IAcadDatabasePreferences_get_XRefEdit(This,Edit)	\
    ( (This)->lpVtbl -> get_XRefEdit(This,Edit) ) 

#define IAcadDatabasePreferences_put_XRefEdit(This,Edit)	\
    ( (This)->lpVtbl -> put_XRefEdit(This,Edit) ) 

#define IAcadDatabasePreferences_get_XRefLayerVisibility(This,XRefLayerVis)	\
    ( (This)->lpVtbl -> get_XRefLayerVisibility(This,XRefLayerVis) ) 

#define IAcadDatabasePreferences_put_XRefLayerVisibility(This,XRefLayerVis)	\
    ( (This)->lpVtbl -> put_XRefLayerVisibility(This,XRefLayerVis) ) 

#define IAcadDatabasePreferences_get_OLELaunch(This,Launch)	\
    ( (This)->lpVtbl -> get_OLELaunch(This,Launch) ) 

#define IAcadDatabasePreferences_put_OLELaunch(This,Launch)	\
    ( (This)->lpVtbl -> put_OLELaunch(This,Launch) ) 

#define IAcadDatabasePreferences_get_AllowLongSymbolNames(This,LongNames)	\
    ( (This)->lpVtbl -> get_AllowLongSymbolNames(This,LongNames) ) 

#define IAcadDatabasePreferences_put_AllowLongSymbolNames(This,LongNames)	\
    ( (This)->lpVtbl -> put_AllowLongSymbolNames(This,LongNames) ) 

#define IAcadDatabasePreferences_get_ObjectSortBySelection(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortBySelection(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortBySelection(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortBySelection(This,Sort) ) 

#define IAcadDatabasePreferences_get_ObjectSortBySnap(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortBySnap(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortBySnap(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortBySnap(This,Sort) ) 

#define IAcadDatabasePreferences_get_ObjectSortByRedraws(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortByRedraws(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortByRedraws(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortByRedraws(This,Sort) ) 

#define IAcadDatabasePreferences_get_ObjectSortByRegens(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortByRegens(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortByRegens(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortByRegens(This,Sort) ) 

#define IAcadDatabasePreferences_get_ObjectSortByPlotting(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortByPlotting(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortByPlotting(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortByPlotting(This,Sort) ) 

#define IAcadDatabasePreferences_get_ObjectSortByPSOutput(This,Sort)	\
    ( (This)->lpVtbl -> get_ObjectSortByPSOutput(This,Sort) ) 

#define IAcadDatabasePreferences_put_ObjectSortByPSOutput(This,Sort)	\
    ( (This)->lpVtbl -> put_ObjectSortByPSOutput(This,Sort) ) 

#define IAcadDatabasePreferences_put_ContourLinesPerSurface(This,path)	\
    ( (This)->lpVtbl -> put_ContourLinesPerSurface(This,path) ) 

#define IAcadDatabasePreferences_get_ContourLinesPerSurface(This,path)	\
    ( (This)->lpVtbl -> get_ContourLinesPerSurface(This,path) ) 

#define IAcadDatabasePreferences_put_DisplaySilhouette(This,path)	\
    ( (This)->lpVtbl -> put_DisplaySilhouette(This,path) ) 

#define IAcadDatabasePreferences_get_DisplaySilhouette(This,path)	\
    ( (This)->lpVtbl -> get_DisplaySilhouette(This,path) ) 

#define IAcadDatabasePreferences_put_MaxActiveViewports(This,path)	\
    ( (This)->lpVtbl -> put_MaxActiveViewports(This,path) ) 

#define IAcadDatabasePreferences_get_MaxActiveViewports(This,path)	\
    ( (This)->lpVtbl -> get_MaxActiveViewports(This,path) ) 

#define IAcadDatabasePreferences_put_RenderSmoothness(This,path)	\
    ( (This)->lpVtbl -> put_RenderSmoothness(This,path) ) 

#define IAcadDatabasePreferences_get_RenderSmoothness(This,path)	\
    ( (This)->lpVtbl -> get_RenderSmoothness(This,path) ) 

#define IAcadDatabasePreferences_put_SegmentPerPolyline(This,path)	\
    ( (This)->lpVtbl -> put_SegmentPerPolyline(This,path) ) 

#define IAcadDatabasePreferences_get_SegmentPerPolyline(This,path)	\
    ( (This)->lpVtbl -> get_SegmentPerPolyline(This,path) ) 

#define IAcadDatabasePreferences_put_TextFrameDisplay(This,path)	\
    ( (This)->lpVtbl -> put_TextFrameDisplay(This,path) ) 

#define IAcadDatabasePreferences_get_TextFrameDisplay(This,path)	\
    ( (This)->lpVtbl -> get_TextFrameDisplay(This,path) ) 

#define IAcadDatabasePreferences_put_LineWeight(This,path)	\
    ( (This)->lpVtbl -> put_LineWeight(This,path) ) 

#define IAcadDatabasePreferences_get_LineWeight(This,path)	\
    ( (This)->lpVtbl -> get_LineWeight(This,path) ) 

#define IAcadDatabasePreferences_put_LineWeightDisplay(This,path)	\
    ( (This)->lpVtbl -> put_LineWeightDisplay(This,path) ) 

#define IAcadDatabasePreferences_get_LineWeightDisplay(This,path)	\
    ( (This)->lpVtbl -> get_LineWeightDisplay(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDatabasePreferences_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDatabasePreferences,0x573FCDC4,0x6A92,0x46A0,0xBE,0x06,0xBB,0x03,0x1E,0xFA,0x28,0x08);

#ifdef __cplusplus

class DECLSPEC_UUID("573FCDC4-6A92-46A0-BE06-BB031EFA2808")
AcadDatabasePreferences;
#endif

DEFINE_GUID(CLSID_AcadDatabase,0xECFFA436,0xF348,0x4BAA,0xA0,0xDF,0x2C,0xE1,0x3A,0x27,0xF3,0x11);

#ifdef __cplusplus

class DECLSPEC_UUID("ECFFA436-F348-4BAA-A0DF-2CE13A27F311")
AcadDatabase;
#endif

#ifndef __IAcadSecurityParams_INTERFACE_DEFINED__
#define __IAcadSecurityParams_INTERFACE_DEFINED__

/* interface IAcadSecurityParams */
/* [unique][dual][helpcontext][helpstringcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadSecurityParams,0xD076A7DA,0x5E82,0x4633,0xB1,0x3A,0xE7,0x82,0x82,0x49,0x47,0x2B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("D076A7DA-5E82-4633-B13A-E7828249472B")
    IAcadSecurityParams : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Action( 
            /* [in] */ long Operations) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Action( 
            /* [retval][out] */ long *pOperations) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Password( 
            /* [in] */ BSTR Secret) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Password( 
            /* [retval][out] */ BSTR *pSecret) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProviderType( 
            /* [in] */ long ProvType) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProviderType( 
            /* [retval][out] */ long *pProvType) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ProviderName( 
            /* [in] */ BSTR ProvName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProviderName( 
            /* [retval][out] */ BSTR *pProvName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Algorithm( 
            /* [in] */ long AlgId) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Algorithm( 
            /* [retval][out] */ long *pAlgId) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_KeyLength( 
            /* [in] */ long KeyLen) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_KeyLength( 
            /* [retval][out] */ long *pKeyLen) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Subject( 
            /* [in] */ BSTR CertSubject) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Subject( 
            /* [retval][out] */ BSTR *pCertSubject) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Issuer( 
            /* [in] */ BSTR CertIssuer) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Issuer( 
            /* [retval][out] */ BSTR *pCertIssuer) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SerialNumber( 
            /* [in] */ BSTR SerialNum) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SerialNumber( 
            /* [retval][out] */ BSTR *pSerialNum) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Comment( 
            /* [in] */ BSTR Text) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Comment( 
            /* [retval][out] */ BSTR *pText) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_TimeServer( 
            /* [in] */ BSTR TimeServerName) = 0;
        
        virtual /* [helpcontext][helpstringcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_TimeServer( 
            /* [retval][out] */ BSTR *pTimeServerName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSecurityParamsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSecurityParams * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSecurityParams * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSecurityParams * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSecurityParams * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSecurityParams * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSecurityParams * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSecurityParams * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Action )( 
            IAcadSecurityParams * This,
            /* [in] */ long Operations);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Action )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ long *pOperations);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Password )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR Secret);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Password )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pSecret);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderType )( 
            IAcadSecurityParams * This,
            /* [in] */ long ProvType);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderType )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ long *pProvType);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ProviderName )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR ProvName);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ProviderName )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pProvName);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Algorithm )( 
            IAcadSecurityParams * This,
            /* [in] */ long AlgId);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Algorithm )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ long *pAlgId);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_KeyLength )( 
            IAcadSecurityParams * This,
            /* [in] */ long KeyLen);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_KeyLength )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ long *pKeyLen);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Subject )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR CertSubject);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Subject )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pCertSubject);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Issuer )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR CertIssuer);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Issuer )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pCertIssuer);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SerialNumber )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR SerialNum);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SerialNumber )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pSerialNum);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Comment )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR Text);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Comment )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pText);
        
        /* [helpcontext][helpstringcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_TimeServer )( 
            IAcadSecurityParams * This,
            /* [in] */ BSTR TimeServerName);
        
        /* [helpcontext][helpstringcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TimeServer )( 
            IAcadSecurityParams * This,
            /* [retval][out] */ BSTR *pTimeServerName);
        
        END_INTERFACE
    } IAcadSecurityParamsVtbl;

    interface IAcadSecurityParams
    {
        CONST_VTBL struct IAcadSecurityParamsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSecurityParams_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSecurityParams_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSecurityParams_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSecurityParams_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSecurityParams_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSecurityParams_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSecurityParams_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSecurityParams_put_Action(This,Operations)	\
    ( (This)->lpVtbl -> put_Action(This,Operations) ) 

#define IAcadSecurityParams_get_Action(This,pOperations)	\
    ( (This)->lpVtbl -> get_Action(This,pOperations) ) 

#define IAcadSecurityParams_put_Password(This,Secret)	\
    ( (This)->lpVtbl -> put_Password(This,Secret) ) 

#define IAcadSecurityParams_get_Password(This,pSecret)	\
    ( (This)->lpVtbl -> get_Password(This,pSecret) ) 

#define IAcadSecurityParams_put_ProviderType(This,ProvType)	\
    ( (This)->lpVtbl -> put_ProviderType(This,ProvType) ) 

#define IAcadSecurityParams_get_ProviderType(This,pProvType)	\
    ( (This)->lpVtbl -> get_ProviderType(This,pProvType) ) 

#define IAcadSecurityParams_put_ProviderName(This,ProvName)	\
    ( (This)->lpVtbl -> put_ProviderName(This,ProvName) ) 

#define IAcadSecurityParams_get_ProviderName(This,pProvName)	\
    ( (This)->lpVtbl -> get_ProviderName(This,pProvName) ) 

#define IAcadSecurityParams_put_Algorithm(This,AlgId)	\
    ( (This)->lpVtbl -> put_Algorithm(This,AlgId) ) 

#define IAcadSecurityParams_get_Algorithm(This,pAlgId)	\
    ( (This)->lpVtbl -> get_Algorithm(This,pAlgId) ) 

#define IAcadSecurityParams_put_KeyLength(This,KeyLen)	\
    ( (This)->lpVtbl -> put_KeyLength(This,KeyLen) ) 

#define IAcadSecurityParams_get_KeyLength(This,pKeyLen)	\
    ( (This)->lpVtbl -> get_KeyLength(This,pKeyLen) ) 

#define IAcadSecurityParams_put_Subject(This,CertSubject)	\
    ( (This)->lpVtbl -> put_Subject(This,CertSubject) ) 

#define IAcadSecurityParams_get_Subject(This,pCertSubject)	\
    ( (This)->lpVtbl -> get_Subject(This,pCertSubject) ) 

#define IAcadSecurityParams_put_Issuer(This,CertIssuer)	\
    ( (This)->lpVtbl -> put_Issuer(This,CertIssuer) ) 

#define IAcadSecurityParams_get_Issuer(This,pCertIssuer)	\
    ( (This)->lpVtbl -> get_Issuer(This,pCertIssuer) ) 

#define IAcadSecurityParams_put_SerialNumber(This,SerialNum)	\
    ( (This)->lpVtbl -> put_SerialNumber(This,SerialNum) ) 

#define IAcadSecurityParams_get_SerialNumber(This,pSerialNum)	\
    ( (This)->lpVtbl -> get_SerialNumber(This,pSerialNum) ) 

#define IAcadSecurityParams_put_Comment(This,Text)	\
    ( (This)->lpVtbl -> put_Comment(This,Text) ) 

#define IAcadSecurityParams_get_Comment(This,pText)	\
    ( (This)->lpVtbl -> get_Comment(This,pText) ) 

#define IAcadSecurityParams_put_TimeServer(This,TimeServerName)	\
    ( (This)->lpVtbl -> put_TimeServer(This,TimeServerName) ) 

#define IAcadSecurityParams_get_TimeServer(This,pTimeServerName)	\
    ( (This)->lpVtbl -> get_TimeServer(This,pTimeServerName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSecurityParams_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSecurityParams,0x2FE0DF6F,0x9E53,0x4545,0x83,0xDB,0x63,0x2D,0xE5,0xCC,0xFD,0x8E);

#ifdef __cplusplus

class DECLSPEC_UUID("2FE0DF6F-9E53-4545-83DB-632DE5CCFD8E")
AcadSecurityParams;
#endif

#ifndef __IAcadLayerStateManager_INTERFACE_DEFINED__
#define __IAcadLayerStateManager_INTERFACE_DEFINED__

/* interface IAcadLayerStateManager */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadLayerStateManager,0xCBA013B4,0x82FB,0x4476,0xB6,0x8F,0xF4,0x1E,0xB9,0xBA,0xF3,0x99);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("CBA013B4-82FB-4476-B68F-F41EB9BAF399")
    IAcadLayerStateManager : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SetDatabase( 
            /* [in] */ IAcadDatabase *iHostDb) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Mask( 
            /* [in] */ BSTR bsName,
            /* [in] */ AcLayerStateMask eMask) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Mask( 
            /* [in] */ BSTR bsName,
            /* [retval][out] */ AcLayerStateMask *eMask) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ BSTR bsName,
            /* [in] */ AcLayerStateMask eMask) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Restore( 
            /* [in] */ BSTR bsName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( 
            /* [in] */ BSTR bsName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Rename( 
            /* [in] */ BSTR bsName,
            /* [in] */ BSTR bsNewName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Import( 
            /* [in] */ BSTR bsFilename) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Export( 
            /* [in] */ BSTR bsName,
            /* [in] */ BSTR bsFilename) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadLayerStateManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadLayerStateManager * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadLayerStateManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadLayerStateManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadLayerStateManager * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadLayerStateManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadLayerStateManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadLayerStateManager * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SetDatabase )( 
            IAcadLayerStateManager * This,
            /* [in] */ IAcadDatabase *iHostDb);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Mask )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName,
            /* [in] */ AcLayerStateMask eMask);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Mask )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName,
            /* [retval][out] */ AcLayerStateMask *eMask);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName,
            /* [in] */ AcLayerStateMask eMask);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Restore )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Rename )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName,
            /* [in] */ BSTR bsNewName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Import )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsFilename);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Export )( 
            IAcadLayerStateManager * This,
            /* [in] */ BSTR bsName,
            /* [in] */ BSTR bsFilename);
        
        END_INTERFACE
    } IAcadLayerStateManagerVtbl;

    interface IAcadLayerStateManager
    {
        CONST_VTBL struct IAcadLayerStateManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadLayerStateManager_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadLayerStateManager_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadLayerStateManager_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadLayerStateManager_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadLayerStateManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadLayerStateManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadLayerStateManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadLayerStateManager_SetDatabase(This,iHostDb)	\
    ( (This)->lpVtbl -> SetDatabase(This,iHostDb) ) 

#define IAcadLayerStateManager_put_Mask(This,bsName,eMask)	\
    ( (This)->lpVtbl -> put_Mask(This,bsName,eMask) ) 

#define IAcadLayerStateManager_get_Mask(This,bsName,eMask)	\
    ( (This)->lpVtbl -> get_Mask(This,bsName,eMask) ) 

#define IAcadLayerStateManager_Save(This,bsName,eMask)	\
    ( (This)->lpVtbl -> Save(This,bsName,eMask) ) 

#define IAcadLayerStateManager_Restore(This,bsName)	\
    ( (This)->lpVtbl -> Restore(This,bsName) ) 

#define IAcadLayerStateManager_Delete(This,bsName)	\
    ( (This)->lpVtbl -> Delete(This,bsName) ) 

#define IAcadLayerStateManager_Rename(This,bsName,bsNewName)	\
    ( (This)->lpVtbl -> Rename(This,bsName,bsNewName) ) 

#define IAcadLayerStateManager_Import(This,bsFilename)	\
    ( (This)->lpVtbl -> Import(This,bsFilename) ) 

#define IAcadLayerStateManager_Export(This,bsName,bsFilename)	\
    ( (This)->lpVtbl -> Export(This,bsName,bsFilename) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadLayerStateManager_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadLayerStateManager,0xBEBDD05C,0x96F1,0x4A21,0x8B,0xF2,0x91,0xD7,0x3A,0xAB,0xF6,0x76);

#ifdef __cplusplus

class DECLSPEC_UUID("BEBDD05C-96F1-4A21-8BF2-91D73AABF676")
AcadLayerStateManager;
#endif

#ifndef ___DAcadApplicationEvents_DISPINTERFACE_DEFINED__
#define ___DAcadApplicationEvents_DISPINTERFACE_DEFINED__

/* dispinterface _DAcadApplicationEvents */
/* [hidden][helpstringcontext][uuid] */ 


DEFINE_GUID(DIID__DAcadApplicationEvents,0x8ABB5515,0xA266,0x4F2C,0x86,0xF5,0xEB,0x69,0x97,0x3B,0xDA,0xC6);

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("8ABB5515-A266-4F2C-86F5-EB69973BDAC6")
    _DAcadApplicationEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _DAcadApplicationEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _DAcadApplicationEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _DAcadApplicationEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _DAcadApplicationEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _DAcadApplicationEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _DAcadApplicationEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _DAcadApplicationEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _DAcadApplicationEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } _DAcadApplicationEventsVtbl;

    interface _DAcadApplicationEvents
    {
        CONST_VTBL struct _DAcadApplicationEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _DAcadApplicationEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _DAcadApplicationEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _DAcadApplicationEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _DAcadApplicationEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _DAcadApplicationEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _DAcadApplicationEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _DAcadApplicationEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___DAcadApplicationEvents_DISPINTERFACE_DEFINED__ */


#ifndef __IAcadDocument_INTERFACE_DEFINED__
#define __IAcadDocument_INTERFACE_DEFINED__

/* interface IAcadDocument */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadDocument,0x87BC19A9,0x5004,0x400A,0x93,0x76,0xB5,0x3C,0xBD,0xB3,0xCA,0x74);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("87BC19A9-5004-400A-9376-B53CBDB3CA74")
    IAcadDocument : public IAcadDatabase
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Plot( 
            /* [retval][out] */ IAcadPlot **pPlot) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveLayer( 
            /* [retval][out] */ IAcadLayer **pActLayer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveLayer( 
            /* [in] */ IAcadLayer *pActLayer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveLinetype( 
            /* [retval][out] */ IAcadLineType **pActLinetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveLinetype( 
            /* [in] */ IAcadLineType *pActLinetype) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveDimStyle( 
            /* [retval][out] */ IAcadDimStyle **pActDimStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveDimStyle( 
            /* [in] */ IAcadDimStyle *pActDimStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveTextStyle( 
            /* [retval][out] */ IAcadTextStyle **pActTextStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveTextStyle( 
            /* [in] */ IAcadTextStyle *pActTextStyle) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveUCS( 
            /* [retval][out] */ IAcadUCS **pActUCS) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveUCS( 
            /* [in] */ IAcadUCS *pActUCS) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveViewport( 
            /* [retval][out] */ IAcadViewport **pActView) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveViewport( 
            /* [in] */ IAcadViewport *pActView) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActivePViewport( 
            /* [retval][out] */ IAcadPViewport **pActView) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActivePViewport( 
            /* [in] */ IAcadPViewport *pActView) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveSpace( 
            /* [retval][out] */ AcActiveSpace *ActSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveSpace( 
            /* [in] */ AcActiveSpace ActSpace) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectionSets( 
            /* [retval][out] */ IAcadSelectionSets **pSelSets) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveSelectionSet( 
            /* [retval][out] */ IAcadSelectionSet **pSelSet) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR *fullName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ObjectSnapMode( 
            /* [retval][out] */ VARIANT_BOOL *fSnapMode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ObjectSnapMode( 
            /* [in] */ VARIANT_BOOL fSnapMode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *bReadOnly) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Saved( 
            /* [retval][out] */ VARIANT_BOOL *bSaved) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MSpace( 
            /* [retval][out] */ VARIANT_BOOL *mode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_MSpace( 
            /* [in] */ VARIANT_BOOL mode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Utility( 
            /* [retval][out] */ IAcadUtility **pUtil) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR FullName,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadDocument **pDocObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AuditInfo( 
            /* [in] */ VARIANT_BOOL FixErr) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Import( 
            /* [in] */ BSTR FileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [retval][out] */ IDispatch **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Export( 
            /* [in] */ BSTR FileName,
            /* [in] */ BSTR Extension,
            /* [in] */ IAcadSelectionSet *SelectionSet) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE New( 
            /* [in] */ BSTR TemplateFileName,
            /* [retval][out] */ IAcadDocument **pDocObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Save( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SaveAs( 
            /* [in] */ BSTR FullFileName,
            /* [optional][in] */ VARIANT SaveAsType,
            /* [optional][in] */ VARIANT vSecurityParams) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Wblock( 
            /* [in] */ BSTR FileName,
            /* [in] */ IAcadSelectionSet *SelectionSet) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE PurgeAll( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetVariable( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT *value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetVariable( 
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadShapeFile( 
            /* [in] */ BSTR FullName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Regen( 
            /* [in] */ AcRegenType WhichViewports) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_PickfirstSelectionSet( 
            /* [retval][out] */ IAcadSelectionSet **pSelSet) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Active( 
            /* [retval][out] */ VARIANT_BOOL *pvbActive) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Activate( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Close( 
            /* [optional][in] */ VARIANT SaveChanges,
            /* [optional][in] */ VARIANT FileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_WindowState( 
            /* [in] */ AcWindowState WinState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowState( 
            /* [retval][out] */ AcWindowState *pWinState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ int width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *pWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ int height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *pHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveLayout( 
            /* [in] */ IAcadLayout *layout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveLayout( 
            /* [retval][out] */ IAcadLayout **pLayout) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SendCommand( 
            /* [in] */ BSTR Command) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HWND( 
            /* [retval][out] */ LONG_PTR *hWnd) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowTitle( 
            /* [retval][out] */ BSTR *Title) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Database( 
            /* [retval][out] */ IAcadDatabase **pDatabase) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE StartUndoMark( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE EndUndoMark( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveMaterial( 
            /* [retval][out] */ IAcadMaterial **pActMaterial) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveMaterial( 
            /* [in] */ IAcadMaterial *pActMaterial) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE PostCommand( 
            /* [in] */ BSTR Command) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDocumentVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDocument * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDocument * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDocument * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDocument * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDocument * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDocument * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDocument * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ModelSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadModelSpace **pMSpace);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PaperSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadPaperSpace **pPSpace);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Blocks )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadBlocks **pBlocks);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *CopyObjects )( 
            IAcadDocument * This,
            /* [in] */ VARIANT Objects,
            /* [optional][in] */ VARIANT Owner,
            /* [optional][out][in] */ VARIANT *IdPairs,
            /* [retval][out] */ VARIANT *pNewObjects);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadGroups **pGroups);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DimStyles )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadDimStyles **pDimStyles);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layers )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLayers **pLayers);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Linetypes )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLineTypes **pLinetypes);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Dictionaries )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadDictionaries **pDictionaries);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_RegisteredApplications )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadRegisteredApplications **pRegApps);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_TextStyles )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadTextStyles **pTextStyles);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_UserCoordinateSystems )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadUCSs **pUCSs);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Views )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadViews **pViews);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Viewports )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadViewports **pViewports);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ElevationModelSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ElevationModelSpace )( 
            IAcadDocument * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ElevationPaperSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ double *elevation);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ElevationPaperSpace )( 
            IAcadDocument * This,
            /* [in] */ double elevation);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Limits )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT *limits);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Limits )( 
            IAcadDocument * This,
            /* [in] */ VARIANT limits);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *HandleToObject )( 
            IAcadDocument * This,
            /* [in] */ BSTR Handle,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ObjectIdToObject )( 
            IAcadDocument * This,
            /* [in] */ LONG_PTR ObjectID,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Layouts )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLayouts **pLayouts);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PlotConfigurations )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadPlotConfigurations **pPlotConfigs);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadDatabasePreferences **pPref);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FileDependencies )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadFileDependencies **pFDM);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SummaryInfo )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadSummaryInfo **pSummaryInfo);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SectionManager )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadSectionManager **pSecMgr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Materials )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadMaterials **pMaterials);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Plot )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadPlot **pPlot);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveLayer )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLayer **pActLayer);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveLayer )( 
            IAcadDocument * This,
            /* [in] */ IAcadLayer *pActLayer);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveLinetype )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLineType **pActLinetype);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveLinetype )( 
            IAcadDocument * This,
            /* [in] */ IAcadLineType *pActLinetype);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveDimStyle )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadDimStyle **pActDimStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveDimStyle )( 
            IAcadDocument * This,
            /* [in] */ IAcadDimStyle *pActDimStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveTextStyle )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadTextStyle **pActTextStyle);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveTextStyle )( 
            IAcadDocument * This,
            /* [in] */ IAcadTextStyle *pActTextStyle);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveUCS )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadUCS **pActUCS);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveUCS )( 
            IAcadDocument * This,
            /* [in] */ IAcadUCS *pActUCS);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveViewport )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadViewport **pActView);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveViewport )( 
            IAcadDocument * This,
            /* [in] */ IAcadViewport *pActView);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActivePViewport )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadPViewport **pActView);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActivePViewport )( 
            IAcadDocument * This,
            /* [in] */ IAcadPViewport *pActView);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ AcActiveSpace *ActSpace);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveSpace )( 
            IAcadDocument * This,
            /* [in] */ AcActiveSpace ActSpace);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectionSets )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadSelectionSets **pSelSets);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveSelectionSet )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadSelectionSet **pSelSet);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )( 
            IAcadDocument * This,
            /* [retval][out] */ BSTR *fullName);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadDocument * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadDocument * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectSnapMode )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT_BOOL *fSnapMode);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectSnapMode )( 
            IAcadDocument * This,
            /* [in] */ VARIANT_BOOL fSnapMode);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ReadOnly )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT_BOOL *bReadOnly);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Saved )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT_BOOL *bSaved);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MSpace )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT_BOOL *mode);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_MSpace )( 
            IAcadDocument * This,
            /* [in] */ VARIANT_BOOL mode);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Utility )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadUtility **pUtil);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IAcadDocument * This,
            /* [in] */ BSTR FullName,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadDocument **pDocObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AuditInfo )( 
            IAcadDocument * This,
            /* [in] */ VARIANT_BOOL FixErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Import )( 
            IAcadDocument * This,
            /* [in] */ BSTR FileName,
            /* [in] */ VARIANT InsertionPoint,
            /* [in] */ double ScaleFactor,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Export )( 
            IAcadDocument * This,
            /* [in] */ BSTR FileName,
            /* [in] */ BSTR Extension,
            /* [in] */ IAcadSelectionSet *SelectionSet);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *New )( 
            IAcadDocument * This,
            /* [in] */ BSTR TemplateFileName,
            /* [retval][out] */ IAcadDocument **pDocObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IAcadDocument * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SaveAs )( 
            IAcadDocument * This,
            /* [in] */ BSTR FullFileName,
            /* [optional][in] */ VARIANT SaveAsType,
            /* [optional][in] */ VARIANT vSecurityParams);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Wblock )( 
            IAcadDocument * This,
            /* [in] */ BSTR FileName,
            /* [in] */ IAcadSelectionSet *SelectionSet);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PurgeAll )( 
            IAcadDocument * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetVariable )( 
            IAcadDocument * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ VARIANT *value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetVariable )( 
            IAcadDocument * This,
            /* [in] */ BSTR Name,
            /* [in] */ VARIANT Value);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadShapeFile )( 
            IAcadDocument * This,
            /* [in] */ BSTR FullName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Regen )( 
            IAcadDocument * This,
            /* [in] */ AcRegenType WhichViewports);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_PickfirstSelectionSet )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadSelectionSet **pSelSet);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Active )( 
            IAcadDocument * This,
            /* [retval][out] */ VARIANT_BOOL *pvbActive);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Activate )( 
            IAcadDocument * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IAcadDocument * This,
            /* [optional][in] */ VARIANT SaveChanges,
            /* [optional][in] */ VARIANT FileName);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WindowState )( 
            IAcadDocument * This,
            /* [in] */ AcWindowState WinState);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowState )( 
            IAcadDocument * This,
            /* [retval][out] */ AcWindowState *pWinState);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadDocument * This,
            /* [in] */ int width);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadDocument * This,
            /* [retval][out] */ int *pWidth);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadDocument * This,
            /* [in] */ int height);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadDocument * This,
            /* [retval][out] */ int *pHeight);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveLayout )( 
            IAcadDocument * This,
            /* [in] */ IAcadLayout *layout);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveLayout )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadLayout **pLayout);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SendCommand )( 
            IAcadDocument * This,
            /* [in] */ BSTR Command);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HWND )( 
            IAcadDocument * This,
            /* [retval][out] */ LONG_PTR *hWnd);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowTitle )( 
            IAcadDocument * This,
            /* [retval][out] */ BSTR *Title);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Database )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadDatabase **pDatabase);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *StartUndoMark )( 
            IAcadDocument * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *EndUndoMark )( 
            IAcadDocument * This);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveMaterial )( 
            IAcadDocument * This,
            /* [retval][out] */ IAcadMaterial **pActMaterial);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveMaterial )( 
            IAcadDocument * This,
            /* [in] */ IAcadMaterial *pActMaterial);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *PostCommand )( 
            IAcadDocument * This,
            /* [in] */ BSTR Command);
        
        END_INTERFACE
    } IAcadDocumentVtbl;

    interface IAcadDocument
    {
        CONST_VTBL struct IAcadDocumentVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDocument_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDocument_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDocument_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDocument_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDocument_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDocument_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDocument_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDocument_get_ModelSpace(This,pMSpace)	\
    ( (This)->lpVtbl -> get_ModelSpace(This,pMSpace) ) 

#define IAcadDocument_get_PaperSpace(This,pPSpace)	\
    ( (This)->lpVtbl -> get_PaperSpace(This,pPSpace) ) 

#define IAcadDocument_get_Blocks(This,pBlocks)	\
    ( (This)->lpVtbl -> get_Blocks(This,pBlocks) ) 

#define IAcadDocument_CopyObjects(This,Objects,Owner,IdPairs,pNewObjects)	\
    ( (This)->lpVtbl -> CopyObjects(This,Objects,Owner,IdPairs,pNewObjects) ) 

#define IAcadDocument_get_Groups(This,pGroups)	\
    ( (This)->lpVtbl -> get_Groups(This,pGroups) ) 

#define IAcadDocument_get_DimStyles(This,pDimStyles)	\
    ( (This)->lpVtbl -> get_DimStyles(This,pDimStyles) ) 

#define IAcadDocument_get_Layers(This,pLayers)	\
    ( (This)->lpVtbl -> get_Layers(This,pLayers) ) 

#define IAcadDocument_get_Linetypes(This,pLinetypes)	\
    ( (This)->lpVtbl -> get_Linetypes(This,pLinetypes) ) 

#define IAcadDocument_get_Dictionaries(This,pDictionaries)	\
    ( (This)->lpVtbl -> get_Dictionaries(This,pDictionaries) ) 

#define IAcadDocument_get_RegisteredApplications(This,pRegApps)	\
    ( (This)->lpVtbl -> get_RegisteredApplications(This,pRegApps) ) 

#define IAcadDocument_get_TextStyles(This,pTextStyles)	\
    ( (This)->lpVtbl -> get_TextStyles(This,pTextStyles) ) 

#define IAcadDocument_get_UserCoordinateSystems(This,pUCSs)	\
    ( (This)->lpVtbl -> get_UserCoordinateSystems(This,pUCSs) ) 

#define IAcadDocument_get_Views(This,pViews)	\
    ( (This)->lpVtbl -> get_Views(This,pViews) ) 

#define IAcadDocument_get_Viewports(This,pViewports)	\
    ( (This)->lpVtbl -> get_Viewports(This,pViewports) ) 

#define IAcadDocument_get_ElevationModelSpace(This,elevation)	\
    ( (This)->lpVtbl -> get_ElevationModelSpace(This,elevation) ) 

#define IAcadDocument_put_ElevationModelSpace(This,elevation)	\
    ( (This)->lpVtbl -> put_ElevationModelSpace(This,elevation) ) 

#define IAcadDocument_get_ElevationPaperSpace(This,elevation)	\
    ( (This)->lpVtbl -> get_ElevationPaperSpace(This,elevation) ) 

#define IAcadDocument_put_ElevationPaperSpace(This,elevation)	\
    ( (This)->lpVtbl -> put_ElevationPaperSpace(This,elevation) ) 

#define IAcadDocument_get_Limits(This,limits)	\
    ( (This)->lpVtbl -> get_Limits(This,limits) ) 

#define IAcadDocument_put_Limits(This,limits)	\
    ( (This)->lpVtbl -> put_Limits(This,limits) ) 

#define IAcadDocument_HandleToObject(This,Handle,pObj)	\
    ( (This)->lpVtbl -> HandleToObject(This,Handle,pObj) ) 

#define IAcadDocument_ObjectIdToObject(This,ObjectID,pObj)	\
    ( (This)->lpVtbl -> ObjectIdToObject(This,ObjectID,pObj) ) 

#define IAcadDocument_get_Layouts(This,pLayouts)	\
    ( (This)->lpVtbl -> get_Layouts(This,pLayouts) ) 

#define IAcadDocument_get_PlotConfigurations(This,pPlotConfigs)	\
    ( (This)->lpVtbl -> get_PlotConfigurations(This,pPlotConfigs) ) 

#define IAcadDocument_get_Preferences(This,pPref)	\
    ( (This)->lpVtbl -> get_Preferences(This,pPref) ) 

#define IAcadDocument_get_FileDependencies(This,pFDM)	\
    ( (This)->lpVtbl -> get_FileDependencies(This,pFDM) ) 

#define IAcadDocument_get_SummaryInfo(This,pSummaryInfo)	\
    ( (This)->lpVtbl -> get_SummaryInfo(This,pSummaryInfo) ) 

#define IAcadDocument_get_SectionManager(This,pSecMgr)	\
    ( (This)->lpVtbl -> get_SectionManager(This,pSecMgr) ) 

#define IAcadDocument_get_Materials(This,pMaterials)	\
    ( (This)->lpVtbl -> get_Materials(This,pMaterials) ) 


#define IAcadDocument_get_Plot(This,pPlot)	\
    ( (This)->lpVtbl -> get_Plot(This,pPlot) ) 

#define IAcadDocument_get_ActiveLayer(This,pActLayer)	\
    ( (This)->lpVtbl -> get_ActiveLayer(This,pActLayer) ) 

#define IAcadDocument_put_ActiveLayer(This,pActLayer)	\
    ( (This)->lpVtbl -> put_ActiveLayer(This,pActLayer) ) 

#define IAcadDocument_get_ActiveLinetype(This,pActLinetype)	\
    ( (This)->lpVtbl -> get_ActiveLinetype(This,pActLinetype) ) 

#define IAcadDocument_put_ActiveLinetype(This,pActLinetype)	\
    ( (This)->lpVtbl -> put_ActiveLinetype(This,pActLinetype) ) 

#define IAcadDocument_get_ActiveDimStyle(This,pActDimStyle)	\
    ( (This)->lpVtbl -> get_ActiveDimStyle(This,pActDimStyle) ) 

#define IAcadDocument_put_ActiveDimStyle(This,pActDimStyle)	\
    ( (This)->lpVtbl -> put_ActiveDimStyle(This,pActDimStyle) ) 

#define IAcadDocument_get_ActiveTextStyle(This,pActTextStyle)	\
    ( (This)->lpVtbl -> get_ActiveTextStyle(This,pActTextStyle) ) 

#define IAcadDocument_put_ActiveTextStyle(This,pActTextStyle)	\
    ( (This)->lpVtbl -> put_ActiveTextStyle(This,pActTextStyle) ) 

#define IAcadDocument_get_ActiveUCS(This,pActUCS)	\
    ( (This)->lpVtbl -> get_ActiveUCS(This,pActUCS) ) 

#define IAcadDocument_put_ActiveUCS(This,pActUCS)	\
    ( (This)->lpVtbl -> put_ActiveUCS(This,pActUCS) ) 

#define IAcadDocument_get_ActiveViewport(This,pActView)	\
    ( (This)->lpVtbl -> get_ActiveViewport(This,pActView) ) 

#define IAcadDocument_put_ActiveViewport(This,pActView)	\
    ( (This)->lpVtbl -> put_ActiveViewport(This,pActView) ) 

#define IAcadDocument_get_ActivePViewport(This,pActView)	\
    ( (This)->lpVtbl -> get_ActivePViewport(This,pActView) ) 

#define IAcadDocument_put_ActivePViewport(This,pActView)	\
    ( (This)->lpVtbl -> put_ActivePViewport(This,pActView) ) 

#define IAcadDocument_get_ActiveSpace(This,ActSpace)	\
    ( (This)->lpVtbl -> get_ActiveSpace(This,ActSpace) ) 

#define IAcadDocument_put_ActiveSpace(This,ActSpace)	\
    ( (This)->lpVtbl -> put_ActiveSpace(This,ActSpace) ) 

#define IAcadDocument_get_SelectionSets(This,pSelSets)	\
    ( (This)->lpVtbl -> get_SelectionSets(This,pSelSets) ) 

#define IAcadDocument_get_ActiveSelectionSet(This,pSelSet)	\
    ( (This)->lpVtbl -> get_ActiveSelectionSet(This,pSelSet) ) 

#define IAcadDocument_get_FullName(This,fullName)	\
    ( (This)->lpVtbl -> get_FullName(This,fullName) ) 

#define IAcadDocument_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define IAcadDocument_get_Path(This,path)	\
    ( (This)->lpVtbl -> get_Path(This,path) ) 

#define IAcadDocument_get_ObjectSnapMode(This,fSnapMode)	\
    ( (This)->lpVtbl -> get_ObjectSnapMode(This,fSnapMode) ) 

#define IAcadDocument_put_ObjectSnapMode(This,fSnapMode)	\
    ( (This)->lpVtbl -> put_ObjectSnapMode(This,fSnapMode) ) 

#define IAcadDocument_get_ReadOnly(This,bReadOnly)	\
    ( (This)->lpVtbl -> get_ReadOnly(This,bReadOnly) ) 

#define IAcadDocument_get_Saved(This,bSaved)	\
    ( (This)->lpVtbl -> get_Saved(This,bSaved) ) 

#define IAcadDocument_get_MSpace(This,mode)	\
    ( (This)->lpVtbl -> get_MSpace(This,mode) ) 

#define IAcadDocument_put_MSpace(This,mode)	\
    ( (This)->lpVtbl -> put_MSpace(This,mode) ) 

#define IAcadDocument_get_Utility(This,pUtil)	\
    ( (This)->lpVtbl -> get_Utility(This,pUtil) ) 

#define IAcadDocument_Open(This,FullName,Password,pDocObj)	\
    ( (This)->lpVtbl -> Open(This,FullName,Password,pDocObj) ) 

#define IAcadDocument_AuditInfo(This,FixErr)	\
    ( (This)->lpVtbl -> AuditInfo(This,FixErr) ) 

#define IAcadDocument_Import(This,FileName,InsertionPoint,ScaleFactor,pObj)	\
    ( (This)->lpVtbl -> Import(This,FileName,InsertionPoint,ScaleFactor,pObj) ) 

#define IAcadDocument_Export(This,FileName,Extension,SelectionSet)	\
    ( (This)->lpVtbl -> Export(This,FileName,Extension,SelectionSet) ) 

#define IAcadDocument_New(This,TemplateFileName,pDocObj)	\
    ( (This)->lpVtbl -> New(This,TemplateFileName,pDocObj) ) 

#define IAcadDocument_Save(This)	\
    ( (This)->lpVtbl -> Save(This) ) 

#define IAcadDocument_SaveAs(This,FullFileName,SaveAsType,vSecurityParams)	\
    ( (This)->lpVtbl -> SaveAs(This,FullFileName,SaveAsType,vSecurityParams) ) 

#define IAcadDocument_Wblock(This,FileName,SelectionSet)	\
    ( (This)->lpVtbl -> Wblock(This,FileName,SelectionSet) ) 

#define IAcadDocument_PurgeAll(This)	\
    ( (This)->lpVtbl -> PurgeAll(This) ) 

#define IAcadDocument_GetVariable(This,Name,value)	\
    ( (This)->lpVtbl -> GetVariable(This,Name,value) ) 

#define IAcadDocument_SetVariable(This,Name,Value)	\
    ( (This)->lpVtbl -> SetVariable(This,Name,Value) ) 

#define IAcadDocument_LoadShapeFile(This,FullName)	\
    ( (This)->lpVtbl -> LoadShapeFile(This,FullName) ) 

#define IAcadDocument_Regen(This,WhichViewports)	\
    ( (This)->lpVtbl -> Regen(This,WhichViewports) ) 

#define IAcadDocument_get_PickfirstSelectionSet(This,pSelSet)	\
    ( (This)->lpVtbl -> get_PickfirstSelectionSet(This,pSelSet) ) 

#define IAcadDocument_get_Active(This,pvbActive)	\
    ( (This)->lpVtbl -> get_Active(This,pvbActive) ) 

#define IAcadDocument_Activate(This)	\
    ( (This)->lpVtbl -> Activate(This) ) 

#define IAcadDocument_Close(This,SaveChanges,FileName)	\
    ( (This)->lpVtbl -> Close(This,SaveChanges,FileName) ) 

#define IAcadDocument_put_WindowState(This,WinState)	\
    ( (This)->lpVtbl -> put_WindowState(This,WinState) ) 

#define IAcadDocument_get_WindowState(This,pWinState)	\
    ( (This)->lpVtbl -> get_WindowState(This,pWinState) ) 

#define IAcadDocument_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadDocument_get_Width(This,pWidth)	\
    ( (This)->lpVtbl -> get_Width(This,pWidth) ) 

#define IAcadDocument_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadDocument_get_Height(This,pHeight)	\
    ( (This)->lpVtbl -> get_Height(This,pHeight) ) 

#define IAcadDocument_put_ActiveLayout(This,layout)	\
    ( (This)->lpVtbl -> put_ActiveLayout(This,layout) ) 

#define IAcadDocument_get_ActiveLayout(This,pLayout)	\
    ( (This)->lpVtbl -> get_ActiveLayout(This,pLayout) ) 

#define IAcadDocument_SendCommand(This,Command)	\
    ( (This)->lpVtbl -> SendCommand(This,Command) ) 

#define IAcadDocument_get_HWND(This,hWnd)	\
    ( (This)->lpVtbl -> get_HWND(This,hWnd) ) 

#define IAcadDocument_get_WindowTitle(This,Title)	\
    ( (This)->lpVtbl -> get_WindowTitle(This,Title) ) 

#define IAcadDocument_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadDocument_get_Database(This,pDatabase)	\
    ( (This)->lpVtbl -> get_Database(This,pDatabase) ) 

#define IAcadDocument_StartUndoMark(This)	\
    ( (This)->lpVtbl -> StartUndoMark(This) ) 

#define IAcadDocument_EndUndoMark(This)	\
    ( (This)->lpVtbl -> EndUndoMark(This) ) 

#define IAcadDocument_get_ActiveMaterial(This,pActMaterial)	\
    ( (This)->lpVtbl -> get_ActiveMaterial(This,pActMaterial) ) 

#define IAcadDocument_put_ActiveMaterial(This,pActMaterial)	\
    ( (This)->lpVtbl -> put_ActiveMaterial(This,pActMaterial) ) 

#define IAcadDocument_PostCommand(This,Command)	\
    ( (This)->lpVtbl -> PostCommand(This,Command) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDocument_INTERFACE_DEFINED__ */


#ifndef __IAcadDocuments_INTERFACE_DEFINED__
#define __IAcadDocuments_INTERFACE_DEFINED__

/* interface IAcadDocuments */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadDocuments,0x9982F304,0xA0AE,0x4C87,0xA3,0x65,0x2B,0x2D,0x8E,0xDE,0x04,0xBA);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("9982F304-A0AE-4C87-A365-2B2D8EDE04BA")
    IAcadDocuments : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadDocument **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [optional][in] */ VARIANT TemplateName,
            /* [retval][out] */ IAcadDocument **pDispDoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Open( 
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT ReadOnly,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadDocument **pDispDoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadDocumentsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadDocuments * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadDocuments * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadDocuments * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadDocuments * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadDocuments * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadDocuments * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadDocuments * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadDocuments * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadDocument **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadDocuments * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadDocuments * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadDocuments * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadDocuments * This,
            /* [optional][in] */ VARIANT TemplateName,
            /* [retval][out] */ IAcadDocument **pDispDoc);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IAcadDocuments * This,
            /* [in] */ BSTR Name,
            /* [optional][in] */ VARIANT ReadOnly,
            /* [optional][in] */ VARIANT Password,
            /* [retval][out] */ IAcadDocument **pDispDoc);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
            IAcadDocuments * This);
        
        END_INTERFACE
    } IAcadDocumentsVtbl;

    interface IAcadDocuments
    {
        CONST_VTBL struct IAcadDocumentsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadDocuments_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadDocuments_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadDocuments_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadDocuments_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadDocuments_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadDocuments_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadDocuments_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadDocuments_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadDocuments_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadDocuments_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadDocuments_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadDocuments_Add(This,TemplateName,pDispDoc)	\
    ( (This)->lpVtbl -> Add(This,TemplateName,pDispDoc) ) 

#define IAcadDocuments_Open(This,Name,ReadOnly,Password,pDispDoc)	\
    ( (This)->lpVtbl -> Open(This,Name,ReadOnly,Password,pDispDoc) ) 

#define IAcadDocuments_Close(This)	\
    ( (This)->lpVtbl -> Close(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadDocuments_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferences_INTERFACE_DEFINED__
#define __IAcadPreferences_INTERFACE_DEFINED__

/* interface IAcadPreferences */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferences,0x09C5A76D,0xD972,0x48CE,0xB8,0x5E,0xF2,0x18,0x39,0xEF,0x55,0x7A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("09C5A76D-D972-48CE-B85E-F21839EF557A")
    IAcadPreferences : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Files( 
            /* [retval][out] */ IAcadPreferencesFiles **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Display( 
            /* [retval][out] */ IAcadPreferencesDisplay **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_OpenSave( 
            /* [retval][out] */ IAcadPreferencesOpenSave **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Output( 
            /* [retval][out] */ IAcadPreferencesOutput **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_System( 
            /* [retval][out] */ IAcadPreferencesSystem **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_User( 
            /* [retval][out] */ IAcadPreferencesUser **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Drafting( 
            /* [retval][out] */ IAcadPreferencesDrafting **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Selection( 
            /* [retval][out] */ IAcadPreferencesSelection **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Profiles( 
            /* [retval][out] */ IAcadPreferencesProfiles **pObj) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferences * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferences * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferences * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferences * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferences * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferences * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferences * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Files )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesFiles **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Display )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesDisplay **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OpenSave )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesOpenSave **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Output )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesOutput **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_System )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesSystem **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_User )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesUser **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Drafting )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesDrafting **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Selection )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesSelection **pObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Profiles )( 
            IAcadPreferences * This,
            /* [retval][out] */ IAcadPreferencesProfiles **pObj);
        
        END_INTERFACE
    } IAcadPreferencesVtbl;

    interface IAcadPreferences
    {
        CONST_VTBL struct IAcadPreferencesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferences_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferences_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferences_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferences_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferences_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferences_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferences_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferences_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferences_get_Files(This,pObj)	\
    ( (This)->lpVtbl -> get_Files(This,pObj) ) 

#define IAcadPreferences_get_Display(This,pObj)	\
    ( (This)->lpVtbl -> get_Display(This,pObj) ) 

#define IAcadPreferences_get_OpenSave(This,pObj)	\
    ( (This)->lpVtbl -> get_OpenSave(This,pObj) ) 

#define IAcadPreferences_get_Output(This,pObj)	\
    ( (This)->lpVtbl -> get_Output(This,pObj) ) 

#define IAcadPreferences_get_System(This,pObj)	\
    ( (This)->lpVtbl -> get_System(This,pObj) ) 

#define IAcadPreferences_get_User(This,pObj)	\
    ( (This)->lpVtbl -> get_User(This,pObj) ) 

#define IAcadPreferences_get_Drafting(This,pObj)	\
    ( (This)->lpVtbl -> get_Drafting(This,pObj) ) 

#define IAcadPreferences_get_Selection(This,pObj)	\
    ( (This)->lpVtbl -> get_Selection(This,pObj) ) 

#define IAcadPreferences_get_Profiles(This,pObj)	\
    ( (This)->lpVtbl -> get_Profiles(This,pObj) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferences_INTERFACE_DEFINED__ */


#ifndef __IAcadMenuGroups_INTERFACE_DEFINED__
#define __IAcadMenuGroups_INTERFACE_DEFINED__

/* interface IAcadMenuGroups */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadMenuGroups,0x2919CF81,0x86EC,0x47DF,0xB2,0x47,0x78,0x22,0x14,0x00,0x46,0xEF);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("2919CF81-86EC-47DF-B247-7822140046EF")
    IAcadMenuGroups : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadMenuGroup **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadApplication **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Load( 
            /* [in] */ BSTR MenuFileName,
            /* [optional][in] */ VARIANT BaseMenu,
            /* [retval][out] */ IAcadMenuGroup **pMenuGroup) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMenuGroupsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMenuGroups * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMenuGroups * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMenuGroups * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMenuGroups * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMenuGroups * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMenuGroups * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMenuGroups * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadMenuGroups * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadMenuGroup **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadMenuGroups * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadMenuGroups * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMenuGroups * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadMenuGroups * This,
            /* [retval][out] */ IAcadApplication **pParent);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IAcadMenuGroups * This,
            /* [in] */ BSTR MenuFileName,
            /* [optional][in] */ VARIANT BaseMenu,
            /* [retval][out] */ IAcadMenuGroup **pMenuGroup);
        
        END_INTERFACE
    } IAcadMenuGroupsVtbl;

    interface IAcadMenuGroups
    {
        CONST_VTBL struct IAcadMenuGroupsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMenuGroups_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMenuGroups_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMenuGroups_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMenuGroups_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMenuGroups_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMenuGroups_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMenuGroups_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMenuGroups_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadMenuGroups_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadMenuGroups_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadMenuGroups_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadMenuGroups_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadMenuGroups_Load(This,MenuFileName,BaseMenu,pMenuGroup)	\
    ( (This)->lpVtbl -> Load(This,MenuFileName,BaseMenu,pMenuGroup) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMenuGroups_INTERFACE_DEFINED__ */


#ifndef __IAcadMenuBar_INTERFACE_DEFINED__
#define __IAcadMenuBar_INTERFACE_DEFINED__

/* interface IAcadMenuBar */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadMenuBar,0x00F00231,0x3242,0x414C,0xBB,0x81,0x1F,0xFD,0x8C,0x94,0x90,0xF7);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("00F00231-3242-414C-BB81-1FFD8C9490F7")
    IAcadMenuBar : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenu **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadApplication **pParent) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMenuBarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMenuBar * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMenuBar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMenuBar * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMenuBar * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMenuBar * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMenuBar * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMenuBar * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadMenuBar * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenu **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadMenuBar * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadMenuBar * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMenuBar * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadMenuBar * This,
            /* [retval][out] */ IAcadApplication **pParent);
        
        END_INTERFACE
    } IAcadMenuBarVtbl;

    interface IAcadMenuBar
    {
        CONST_VTBL struct IAcadMenuBarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMenuBar_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMenuBar_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMenuBar_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMenuBar_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMenuBar_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMenuBar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMenuBar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMenuBar_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadMenuBar_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadMenuBar_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadMenuBar_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadMenuBar_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMenuBar_INTERFACE_DEFINED__ */


#ifndef __IAcadApplication_INTERFACE_DEFINED__
#define __IAcadApplication_INTERFACE_DEFINED__

/* interface IAcadApplication */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadApplication,0x1C9CCE52,0xF48B,0x42CC,0x87,0x7B,0xF7,0x49,0x05,0xEC,0x7D,0xBC);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1C9CCE52-F48B-42CC-877B-F74905EC7DBC")
    IAcadApplication : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *visible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL visible) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *pAppName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR *bstrCaption) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_ActiveDocument( 
            /* [retval][out] */ IAcadDocument **pActiveDoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_ActiveDocument( 
            /* [in] */ IAcadDocument *pActiveDoc) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR *fullName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Height( 
            /* [in] */ int height) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowLeft( 
            /* [retval][out] */ int *left) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_WindowLeft( 
            /* [in] */ int left) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [retval][out] */ BSTR *bstrPath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_LocaleId( 
            /* [retval][out] */ long *lcid) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowTop( 
            /* [retval][out] */ int *top) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_WindowTop( 
            /* [in] */ int top) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Version( 
            /* [retval][out] */ BSTR *bstrVer) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_Width( 
            /* [in] */ int width) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Preferences( 
            /* [retval][out] */ IAcadPreferences **pPreferences) = 0;
        
        virtual /* [propget][helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE get_StatusId( 
            /* [in] */ IDispatch *VportObj,
            /* [retval][out] */ VARIANT_BOOL *bStatus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ListArx( 
            /* [retval][out] */ VARIANT *pVarListArray) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadArx( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetInterfaceObject( 
            /* [in] */ BSTR ProgID,
            /* [retval][out] */ IDispatch **pObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UnloadArx( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Quit( void) = 0;
        
        virtual /* [hidden][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Zoom( 
            /* [in] */ int Type,
            /* [in] */ VARIANT *vParams) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_VBE( 
            /* [retval][out] */ IDispatch **pDispVBE) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MenuGroups( 
            /* [retval][out] */ IAcadMenuGroups **pMenuGroups) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_MenuBar( 
            /* [retval][out] */ IAcadMenuBar **pMenuBar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE LoadDVB( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE UnloadDVB( 
            /* [in] */ BSTR Name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Documents( 
            /* [retval][out] */ IAcadDocuments **pDocuments) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Eval( 
            /* [in] */ BSTR Expression) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_WindowState( 
            /* [retval][out] */ AcWindowState *eWinState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_WindowState( 
            /* [in] */ AcWindowState eWinState) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RunMacro( 
            /* [in] */ BSTR MacroPath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomExtents( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomAll( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomCenter( 
            /* [in] */ VARIANT Center,
            /* [in] */ double Magnify) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomScaled( 
            /* [in] */ double Scale,
            /* [in] */ AcZoomScaleType ScaleType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomWindow( 
            /* [in] */ VARIANT LowerLeft,
            /* [in] */ VARIANT UpperRight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomPickWindow( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetAcadState( 
            /* [retval][out] */ IAcadState **pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE ZoomPrevious( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_HWND( 
            /* [retval][out] */ LONG_PTR *hWnd) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadApplicationVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadApplication * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadApplication * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadApplication * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadApplication * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadApplication * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadApplication * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadApplication * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadApplication * This,
            /* [retval][out] */ VARIANT_BOOL *visible);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadApplication * This,
            /* [in] */ VARIANT_BOOL visible);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadApplication * This,
            /* [retval][out] */ BSTR *pAppName);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IAcadApplication * This,
            /* [retval][out] */ BSTR *bstrCaption);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveDocument )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadDocument **pActiveDoc);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveDocument )( 
            IAcadApplication * This,
            /* [in] */ IAcadDocument *pActiveDoc);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )( 
            IAcadApplication * This,
            /* [retval][out] */ BSTR *fullName);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadApplication * This,
            /* [retval][out] */ int *height);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Height )( 
            IAcadApplication * This,
            /* [in] */ int height);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowLeft )( 
            IAcadApplication * This,
            /* [retval][out] */ int *left);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WindowLeft )( 
            IAcadApplication * This,
            /* [in] */ int left);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IAcadApplication * This,
            /* [retval][out] */ BSTR *bstrPath);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_LocaleId )( 
            IAcadApplication * This,
            /* [retval][out] */ long *lcid);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowTop )( 
            IAcadApplication * This,
            /* [retval][out] */ int *top);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WindowTop )( 
            IAcadApplication * This,
            /* [in] */ int top);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Version )( 
            IAcadApplication * This,
            /* [retval][out] */ BSTR *bstrVer);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadApplication * This,
            /* [retval][out] */ int *width);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Width )( 
            IAcadApplication * This,
            /* [in] */ int width);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Preferences )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadPreferences **pPreferences);
        
        /* [propget][helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *get_StatusId )( 
            IAcadApplication * This,
            /* [in] */ IDispatch *VportObj,
            /* [retval][out] */ VARIANT_BOOL *bStatus);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ListArx )( 
            IAcadApplication * This,
            /* [retval][out] */ VARIANT *pVarListArray);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadArx )( 
            IAcadApplication * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetInterfaceObject )( 
            IAcadApplication * This,
            /* [in] */ BSTR ProgID,
            /* [retval][out] */ IDispatch **pObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UnloadArx )( 
            IAcadApplication * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadApplication * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Quit )( 
            IAcadApplication * This);
        
        /* [hidden][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Zoom )( 
            IAcadApplication * This,
            /* [in] */ int Type,
            /* [in] */ VARIANT *vParams);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VBE )( 
            IAcadApplication * This,
            /* [retval][out] */ IDispatch **pDispVBE);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MenuGroups )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadMenuGroups **pMenuGroups);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_MenuBar )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadMenuBar **pMenuBar);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *LoadDVB )( 
            IAcadApplication * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *UnloadDVB )( 
            IAcadApplication * This,
            /* [in] */ BSTR Name);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Documents )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadDocuments **pDocuments);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Eval )( 
            IAcadApplication * This,
            /* [in] */ BSTR Expression);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WindowState )( 
            IAcadApplication * This,
            /* [retval][out] */ AcWindowState *eWinState);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_WindowState )( 
            IAcadApplication * This,
            /* [in] */ AcWindowState eWinState);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RunMacro )( 
            IAcadApplication * This,
            /* [in] */ BSTR MacroPath);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomExtents )( 
            IAcadApplication * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomAll )( 
            IAcadApplication * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomCenter )( 
            IAcadApplication * This,
            /* [in] */ VARIANT Center,
            /* [in] */ double Magnify);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomScaled )( 
            IAcadApplication * This,
            /* [in] */ double Scale,
            /* [in] */ AcZoomScaleType ScaleType);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomWindow )( 
            IAcadApplication * This,
            /* [in] */ VARIANT LowerLeft,
            /* [in] */ VARIANT UpperRight);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomPickWindow )( 
            IAcadApplication * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetAcadState )( 
            IAcadApplication * This,
            /* [retval][out] */ IAcadState **pVal);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ZoomPrevious )( 
            IAcadApplication * This);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_HWND )( 
            IAcadApplication * This,
            /* [retval][out] */ LONG_PTR *hWnd);
        
        END_INTERFACE
    } IAcadApplicationVtbl;

    interface IAcadApplication
    {
        CONST_VTBL struct IAcadApplicationVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadApplication_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadApplication_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadApplication_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadApplication_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadApplication_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadApplication_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadApplication_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadApplication_get_Visible(This,visible)	\
    ( (This)->lpVtbl -> get_Visible(This,visible) ) 

#define IAcadApplication_put_Visible(This,visible)	\
    ( (This)->lpVtbl -> put_Visible(This,visible) ) 

#define IAcadApplication_get_Name(This,pAppName)	\
    ( (This)->lpVtbl -> get_Name(This,pAppName) ) 

#define IAcadApplication_get_Caption(This,bstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,bstrCaption) ) 

#define IAcadApplication_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadApplication_get_ActiveDocument(This,pActiveDoc)	\
    ( (This)->lpVtbl -> get_ActiveDocument(This,pActiveDoc) ) 

#define IAcadApplication_put_ActiveDocument(This,pActiveDoc)	\
    ( (This)->lpVtbl -> put_ActiveDocument(This,pActiveDoc) ) 

#define IAcadApplication_get_FullName(This,fullName)	\
    ( (This)->lpVtbl -> get_FullName(This,fullName) ) 

#define IAcadApplication_get_Height(This,height)	\
    ( (This)->lpVtbl -> get_Height(This,height) ) 

#define IAcadApplication_put_Height(This,height)	\
    ( (This)->lpVtbl -> put_Height(This,height) ) 

#define IAcadApplication_get_WindowLeft(This,left)	\
    ( (This)->lpVtbl -> get_WindowLeft(This,left) ) 

#define IAcadApplication_put_WindowLeft(This,left)	\
    ( (This)->lpVtbl -> put_WindowLeft(This,left) ) 

#define IAcadApplication_get_Path(This,bstrPath)	\
    ( (This)->lpVtbl -> get_Path(This,bstrPath) ) 

#define IAcadApplication_get_LocaleId(This,lcid)	\
    ( (This)->lpVtbl -> get_LocaleId(This,lcid) ) 

#define IAcadApplication_get_WindowTop(This,top)	\
    ( (This)->lpVtbl -> get_WindowTop(This,top) ) 

#define IAcadApplication_put_WindowTop(This,top)	\
    ( (This)->lpVtbl -> put_WindowTop(This,top) ) 

#define IAcadApplication_get_Version(This,bstrVer)	\
    ( (This)->lpVtbl -> get_Version(This,bstrVer) ) 

#define IAcadApplication_get_Width(This,width)	\
    ( (This)->lpVtbl -> get_Width(This,width) ) 

#define IAcadApplication_put_Width(This,width)	\
    ( (This)->lpVtbl -> put_Width(This,width) ) 

#define IAcadApplication_get_Preferences(This,pPreferences)	\
    ( (This)->lpVtbl -> get_Preferences(This,pPreferences) ) 

#define IAcadApplication_get_StatusId(This,VportObj,bStatus)	\
    ( (This)->lpVtbl -> get_StatusId(This,VportObj,bStatus) ) 

#define IAcadApplication_ListArx(This,pVarListArray)	\
    ( (This)->lpVtbl -> ListArx(This,pVarListArray) ) 

#define IAcadApplication_LoadArx(This,Name)	\
    ( (This)->lpVtbl -> LoadArx(This,Name) ) 

#define IAcadApplication_GetInterfaceObject(This,ProgID,pObj)	\
    ( (This)->lpVtbl -> GetInterfaceObject(This,ProgID,pObj) ) 

#define IAcadApplication_UnloadArx(This,Name)	\
    ( (This)->lpVtbl -> UnloadArx(This,Name) ) 

#define IAcadApplication_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadApplication_Quit(This)	\
    ( (This)->lpVtbl -> Quit(This) ) 

#define IAcadApplication_Zoom(This,Type,vParams)	\
    ( (This)->lpVtbl -> Zoom(This,Type,vParams) ) 

#define IAcadApplication_get_VBE(This,pDispVBE)	\
    ( (This)->lpVtbl -> get_VBE(This,pDispVBE) ) 

#define IAcadApplication_get_MenuGroups(This,pMenuGroups)	\
    ( (This)->lpVtbl -> get_MenuGroups(This,pMenuGroups) ) 

#define IAcadApplication_get_MenuBar(This,pMenuBar)	\
    ( (This)->lpVtbl -> get_MenuBar(This,pMenuBar) ) 

#define IAcadApplication_LoadDVB(This,Name)	\
    ( (This)->lpVtbl -> LoadDVB(This,Name) ) 

#define IAcadApplication_UnloadDVB(This,Name)	\
    ( (This)->lpVtbl -> UnloadDVB(This,Name) ) 

#define IAcadApplication_get_Documents(This,pDocuments)	\
    ( (This)->lpVtbl -> get_Documents(This,pDocuments) ) 

#define IAcadApplication_Eval(This,Expression)	\
    ( (This)->lpVtbl -> Eval(This,Expression) ) 

#define IAcadApplication_get_WindowState(This,eWinState)	\
    ( (This)->lpVtbl -> get_WindowState(This,eWinState) ) 

#define IAcadApplication_put_WindowState(This,eWinState)	\
    ( (This)->lpVtbl -> put_WindowState(This,eWinState) ) 

#define IAcadApplication_RunMacro(This,MacroPath)	\
    ( (This)->lpVtbl -> RunMacro(This,MacroPath) ) 

#define IAcadApplication_ZoomExtents(This)	\
    ( (This)->lpVtbl -> ZoomExtents(This) ) 

#define IAcadApplication_ZoomAll(This)	\
    ( (This)->lpVtbl -> ZoomAll(This) ) 

#define IAcadApplication_ZoomCenter(This,Center,Magnify)	\
    ( (This)->lpVtbl -> ZoomCenter(This,Center,Magnify) ) 

#define IAcadApplication_ZoomScaled(This,Scale,ScaleType)	\
    ( (This)->lpVtbl -> ZoomScaled(This,Scale,ScaleType) ) 

#define IAcadApplication_ZoomWindow(This,LowerLeft,UpperRight)	\
    ( (This)->lpVtbl -> ZoomWindow(This,LowerLeft,UpperRight) ) 

#define IAcadApplication_ZoomPickWindow(This)	\
    ( (This)->lpVtbl -> ZoomPickWindow(This) ) 

#define IAcadApplication_GetAcadState(This,pVal)	\
    ( (This)->lpVtbl -> GetAcadState(This,pVal) ) 

#define IAcadApplication_ZoomPrevious(This)	\
    ( (This)->lpVtbl -> ZoomPrevious(This) ) 

#define IAcadApplication_get_HWND(This,hWnd)	\
    ( (This)->lpVtbl -> get_HWND(This,hWnd) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadApplication_INTERFACE_DEFINED__ */


#ifndef __IAcadState_INTERFACE_DEFINED__
#define __IAcadState_INTERFACE_DEFINED__

/* interface IAcadState */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadState,0x8A75B143,0x46B7,0x45C2,0xB2,0xE2,0x0A,0xA0,0x22,0x35,0xCA,0x97);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("8A75B143-46B7-45C2-B2E2-0AA02235CA97")
    IAcadState : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsQuiescent( 
            /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadStateVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadState * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadState * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadState * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadState * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadState * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadState * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadState * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadState * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_IsQuiescent )( 
            IAcadState * This,
            /* [retval][out] */ VARIANT_BOOL *pVal);
        
        END_INTERFACE
    } IAcadStateVtbl;

    interface IAcadState
    {
        CONST_VTBL struct IAcadStateVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadState_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadState_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadState_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadState_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadState_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadState_get_IsQuiescent(This,pVal)	\
    ( (This)->lpVtbl -> get_IsQuiescent(This,pVal) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadState_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadState,0xBF5735F7,0x1073,0x4235,0xB2,0x4F,0xDC,0xB5,0x2B,0x6C,0xBA,0x28);

#ifdef __cplusplus

class DECLSPEC_UUID("BF5735F7-1073-4235-B24F-DCB52B6CBA28")
AcadState;
#endif

DEFINE_GUID(CLSID_AcadApplication,0x0B628DE4,0x07AD,0x4284,0x81,0xCA,0x5B,0x43,0x9F,0x67,0xC5,0xE6);

#ifdef __cplusplus

class DECLSPEC_UUID("0B628DE4-07AD-4284-81CA-5B439F67C5E6")
AcadApplication;
#endif

DEFINE_GUID(CLSID_AcadApplicationMinorVersion1,0x5370C727,0x1451,0x4700,0xA9,0x60,0x77,0x63,0x09,0x50,0xAF,0x6D);

#ifdef __cplusplus

class DECLSPEC_UUID("5370C727-1451-4700-A960-77630950AF6D")
AcadApplicationMinorVersion1;
#endif

#ifndef __IAcadSelectionSet_INTERFACE_DEFINED__
#define __IAcadSelectionSet_INTERFACE_DEFINED__

/* interface IAcadSelectionSet */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSelectionSet,0xA1B4F61C,0xE3AE,0x4ADA,0xB0,0xFA,0x13,0x5D,0x7A,0xFF,0xF6,0x53);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A1B4F61C-E3AE-4ADA-B0FA-135D7AFFF653")
    IAcadSelectionSet : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pEntity) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Highlight( 
            /* [in] */ VARIANT_BOOL bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Erase( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Update( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE AddItems( 
            /* [in] */ VARIANT pSelSet) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE RemoveItems( 
            /* [in] */ VARIANT Objects) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Select( 
            /* [in] */ AcSelect Mode,
            /* [optional][in] */ VARIANT Point1,
            /* [optional][in] */ VARIANT Point2,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectAtPoint( 
            /* [in] */ VARIANT Point,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectByPolygon( 
            /* [in] */ AcSelect Mode,
            /* [in] */ VARIANT PointsList,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE SelectOnScreen( 
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData) = 0;
        
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSelectionSetVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSelectionSet * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSelectionSet * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSelectionSet * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSelectionSet * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSelectionSet * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSelectionSet * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSelectionSet * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadSelectionSet * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadEntity **pEntity);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadSelectionSet * This,
            /* [retval][out] */ long *pVal);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadSelectionSet * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadSelectionSet * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Highlight )( 
            IAcadSelectionSet * This,
            /* [in] */ VARIANT_BOOL bFlag);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Erase )( 
            IAcadSelectionSet * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Update )( 
            IAcadSelectionSet * This);
        
        /* [helpstringcontext][helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSelectionSet * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *AddItems )( 
            IAcadSelectionSet * This,
            /* [in] */ VARIANT pSelSet);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveItems )( 
            IAcadSelectionSet * This,
            /* [in] */ VARIANT Objects);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Clear )( 
            IAcadSelectionSet * This);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Select )( 
            IAcadSelectionSet * This,
            /* [in] */ AcSelect Mode,
            /* [optional][in] */ VARIANT Point1,
            /* [optional][in] */ VARIANT Point2,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectAtPoint )( 
            IAcadSelectionSet * This,
            /* [in] */ VARIANT Point,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectByPolygon )( 
            IAcadSelectionSet * This,
            /* [in] */ AcSelect Mode,
            /* [in] */ VARIANT PointsList,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SelectOnScreen )( 
            IAcadSelectionSet * This,
            /* [optional][in] */ VARIANT FilterType,
            /* [optional][in] */ VARIANT FilterData);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadSelectionSet * This);
        
        END_INTERFACE
    } IAcadSelectionSetVtbl;

    interface IAcadSelectionSet
    {
        CONST_VTBL struct IAcadSelectionSetVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSelectionSet_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSelectionSet_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSelectionSet_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSelectionSet_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSelectionSet_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSelectionSet_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSelectionSet_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSelectionSet_Item(This,Index,pEntity)	\
    ( (This)->lpVtbl -> Item(This,Index,pEntity) ) 

#define IAcadSelectionSet_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadSelectionSet_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadSelectionSet_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadSelectionSet_Highlight(This,bFlag)	\
    ( (This)->lpVtbl -> Highlight(This,bFlag) ) 

#define IAcadSelectionSet_Erase(This)	\
    ( (This)->lpVtbl -> Erase(This) ) 

#define IAcadSelectionSet_Update(This)	\
    ( (This)->lpVtbl -> Update(This) ) 

#define IAcadSelectionSet_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadSelectionSet_AddItems(This,pSelSet)	\
    ( (This)->lpVtbl -> AddItems(This,pSelSet) ) 

#define IAcadSelectionSet_RemoveItems(This,Objects)	\
    ( (This)->lpVtbl -> RemoveItems(This,Objects) ) 

#define IAcadSelectionSet_Clear(This)	\
    ( (This)->lpVtbl -> Clear(This) ) 

#define IAcadSelectionSet_Select(This,Mode,Point1,Point2,FilterType,FilterData)	\
    ( (This)->lpVtbl -> Select(This,Mode,Point1,Point2,FilterType,FilterData) ) 

#define IAcadSelectionSet_SelectAtPoint(This,Point,FilterType,FilterData)	\
    ( (This)->lpVtbl -> SelectAtPoint(This,Point,FilterType,FilterData) ) 

#define IAcadSelectionSet_SelectByPolygon(This,Mode,PointsList,FilterType,FilterData)	\
    ( (This)->lpVtbl -> SelectByPolygon(This,Mode,PointsList,FilterType,FilterData) ) 

#define IAcadSelectionSet_SelectOnScreen(This,FilterType,FilterData)	\
    ( (This)->lpVtbl -> SelectOnScreen(This,FilterType,FilterData) ) 

#define IAcadSelectionSet_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSelectionSet_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSelectionSet,0x79EDA828,0x741A,0x4B64,0xB2,0x21,0x17,0xB6,0x70,0xAE,0x8A,0xB3);

#ifdef __cplusplus

class DECLSPEC_UUID("79EDA828-741A-4B64-B221-17B670AE8AB3")
AcadSelectionSet;
#endif

#ifndef __IAcadSelectionSets_INTERFACE_DEFINED__
#define __IAcadSelectionSets_INTERFACE_DEFINED__

/* interface IAcadSelectionSets */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadSelectionSets,0xF4B3626C,0xA56C,0x431E,0x98,0x65,0xB1,0xF2,0x89,0xB7,0xD4,0x2E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F4B3626C-A56C-431E-9865-B1F289B7D42E")
    IAcadSelectionSets : public IDispatch
    {
    public:
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadSelectionSet **pItem) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *pVal) = 0;
        
        virtual /* [restricted][hidden][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ LPUNKNOWN *pVal) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpcontext][helpstringcontext][id] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadSelectionSet **pSet) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadSelectionSetsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadSelectionSets * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadSelectionSets * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadSelectionSets * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadSelectionSets * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadSelectionSets * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadSelectionSets * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadSelectionSets * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadSelectionSets * This,
            /* [in] */ VARIANT Index,
            /* [retval][out] */ IAcadSelectionSet **pItem);
        
        /* [helpcontext][helpstringcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadSelectionSets * This,
            /* [retval][out] */ long *pVal);
        
        /* [restricted][hidden][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadSelectionSets * This,
            /* [retval][out] */ LPUNKNOWN *pVal);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadSelectionSets * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpcontext][helpstringcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadSelectionSets * This,
            /* [in] */ BSTR Name,
            /* [retval][out] */ IAcadSelectionSet **pSet);
        
        END_INTERFACE
    } IAcadSelectionSetsVtbl;

    interface IAcadSelectionSets
    {
        CONST_VTBL struct IAcadSelectionSetsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadSelectionSets_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadSelectionSets_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadSelectionSets_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadSelectionSets_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadSelectionSets_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadSelectionSets_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadSelectionSets_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadSelectionSets_Item(This,Index,pItem)	\
    ( (This)->lpVtbl -> Item(This,Index,pItem) ) 

#define IAcadSelectionSets_get_Count(This,pVal)	\
    ( (This)->lpVtbl -> get_Count(This,pVal) ) 

#define IAcadSelectionSets_get__NewEnum(This,pVal)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pVal) ) 

#define IAcadSelectionSets_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadSelectionSets_Add(This,Name,pSet)	\
    ( (This)->lpVtbl -> Add(This,Name,pSet) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadSelectionSets_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadSelectionSets,0xD4ADDDFB,0xF017,0x48D1,0x9B,0x00,0x07,0x9F,0xB3,0x07,0xE2,0x61);

#ifdef __cplusplus

class DECLSPEC_UUID("D4ADDDFB-F017-48D1-9B00-079FB307E261")
AcadSelectionSets;
#endif

#ifndef __IAcadPlot_INTERFACE_DEFINED__
#define __IAcadPlot_INTERFACE_DEFINED__

/* interface IAcadPlot */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadPlot,0x4C93AA29,0xEA40,0x400C,0xB3,0x21,0x8F,0x47,0x57,0x0F,0x13,0x20);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4C93AA29-EA40-400C-B321-8F47570F1320")
    IAcadPlot : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_QuietErrorMode( 
            /* [retval][out] */ VARIANT_BOOL *bErrorMode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_QuietErrorMode( 
            /* [in] */ VARIANT_BOOL bErrorMode) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_NumberOfCopies( 
            /* [retval][out] */ long *numCopies) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_NumberOfCopies( 
            /* [in] */ long numCopies) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_BatchPlotProgress( 
            /* [retval][out] */ VARIANT_BOOL *bProgressStatus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_BatchPlotProgress( 
            /* [in] */ VARIANT_BOOL bProgressStatus) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE DisplayPlotPreview( 
            /* [in] */ AcPreviewMode Preview) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE PlotToFile( 
            /* [in] */ BSTR plotFile,
            /* [optional][in] */ VARIANT plotConfig,
            /* [retval][out] */ VARIANT_BOOL *success) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE PlotToDevice( 
            /* [optional][in] */ VARIANT plotConfig,
            /* [retval][out] */ VARIANT_BOOL *success) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SetLayoutsToPlot( 
            /* [in] */ VARIANT layoutList) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE StartBatchMode( 
            /* [in] */ long entryCount) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPlotVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPlot * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPlot * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPlot * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPlot * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPlot * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPlot * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPlot * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPlot * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_QuietErrorMode )( 
            IAcadPlot * This,
            /* [retval][out] */ VARIANT_BOOL *bErrorMode);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_QuietErrorMode )( 
            IAcadPlot * This,
            /* [in] */ VARIANT_BOOL bErrorMode);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumberOfCopies )( 
            IAcadPlot * This,
            /* [retval][out] */ long *numCopies);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NumberOfCopies )( 
            IAcadPlot * This,
            /* [in] */ long numCopies);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BatchPlotProgress )( 
            IAcadPlot * This,
            /* [retval][out] */ VARIANT_BOOL *bProgressStatus);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BatchPlotProgress )( 
            IAcadPlot * This,
            /* [in] */ VARIANT_BOOL bProgressStatus);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *DisplayPlotPreview )( 
            IAcadPlot * This,
            /* [in] */ AcPreviewMode Preview);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *PlotToFile )( 
            IAcadPlot * This,
            /* [in] */ BSTR plotFile,
            /* [optional][in] */ VARIANT plotConfig,
            /* [retval][out] */ VARIANT_BOOL *success);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *PlotToDevice )( 
            IAcadPlot * This,
            /* [optional][in] */ VARIANT plotConfig,
            /* [retval][out] */ VARIANT_BOOL *success);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SetLayoutsToPlot )( 
            IAcadPlot * This,
            /* [in] */ VARIANT layoutList);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *StartBatchMode )( 
            IAcadPlot * This,
            /* [in] */ long entryCount);
        
        END_INTERFACE
    } IAcadPlotVtbl;

    interface IAcadPlot
    {
        CONST_VTBL struct IAcadPlotVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPlot_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPlot_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPlot_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPlot_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPlot_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPlot_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPlot_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPlot_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPlot_get_QuietErrorMode(This,bErrorMode)	\
    ( (This)->lpVtbl -> get_QuietErrorMode(This,bErrorMode) ) 

#define IAcadPlot_put_QuietErrorMode(This,bErrorMode)	\
    ( (This)->lpVtbl -> put_QuietErrorMode(This,bErrorMode) ) 

#define IAcadPlot_get_NumberOfCopies(This,numCopies)	\
    ( (This)->lpVtbl -> get_NumberOfCopies(This,numCopies) ) 

#define IAcadPlot_put_NumberOfCopies(This,numCopies)	\
    ( (This)->lpVtbl -> put_NumberOfCopies(This,numCopies) ) 

#define IAcadPlot_get_BatchPlotProgress(This,bProgressStatus)	\
    ( (This)->lpVtbl -> get_BatchPlotProgress(This,bProgressStatus) ) 

#define IAcadPlot_put_BatchPlotProgress(This,bProgressStatus)	\
    ( (This)->lpVtbl -> put_BatchPlotProgress(This,bProgressStatus) ) 

#define IAcadPlot_DisplayPlotPreview(This,Preview)	\
    ( (This)->lpVtbl -> DisplayPlotPreview(This,Preview) ) 

#define IAcadPlot_PlotToFile(This,plotFile,plotConfig,success)	\
    ( (This)->lpVtbl -> PlotToFile(This,plotFile,plotConfig,success) ) 

#define IAcadPlot_PlotToDevice(This,plotConfig,success)	\
    ( (This)->lpVtbl -> PlotToDevice(This,plotConfig,success) ) 

#define IAcadPlot_SetLayoutsToPlot(This,layoutList)	\
    ( (This)->lpVtbl -> SetLayoutsToPlot(This,layoutList) ) 

#define IAcadPlot_StartBatchMode(This,entryCount)	\
    ( (This)->lpVtbl -> StartBatchMode(This,entryCount) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPlot_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPlot,0x19832287,0x333B,0x4E09,0xA2,0x74,0xF3,0x9A,0x07,0xE4,0xD8,0xCF);

#ifdef __cplusplus

class DECLSPEC_UUID("19832287-333B-4E09-A274-F39A07E4D8CF")
AcadPlot;
#endif

#ifndef __IAcadPreferencesFiles_INTERFACE_DEFINED__
#define __IAcadPreferencesFiles_INTERFACE_DEFINED__

/* interface IAcadPreferencesFiles */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesFiles,0xB007F777,0x7DAD,0x4FB5,0x9F,0xCA,0xBE,0xF0,0x91,0x2E,0x0B,0xEA);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B007F777-7DAD-4FB5-9FCA-BEF0912E0BEA")
    IAcadPreferencesFiles : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput][id] */ HRESULT STDMETHODCALLTYPE put_SupportPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget][id] */ HRESULT STDMETHODCALLTYPE get_SupportPath( 
            /* [retval][out] */ BSTR *orient) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DriversPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DriversPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_MenuFile( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_MenuFile( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_EnterpriseMenuFile( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_EnterpriseMenuFile( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_CustomIconPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_CustomIconPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HelpFilePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpFilePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultInternetURL( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultInternetURL( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ConfigFile( 
            /* [retval][out] */ BSTR *ConfigFile) = 0;
        
        virtual /* [hidden][helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LicenseServer( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextEditor( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextEditor( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_MainDictionary( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_MainDictionary( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_CustomDictionary( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_CustomDictionary( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AltFontFile( 
            /* [in] */ BSTR FontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AltFontFile( 
            /* [retval][out] */ BSTR *FontFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_FontFileMap( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_FontFileMap( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrintFile( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrintFile( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrintSpoolExecutable( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrintSpoolExecutable( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PostScriptPrologFile( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PostScriptPrologFile( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrintSpoolerPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrintSpoolerPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSavePath( 
            /* [in] */ BSTR autoSavePath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSavePath( 
            /* [retval][out] */ BSTR *autoSavePath) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TemplateDwgPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TemplateDwgPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LogFilePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LogFilePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TempFilePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TempFilePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TempXrefPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TempXrefPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextureMapPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextureMapPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AltTabletMenuFile( 
            /* [in] */ BSTR menuFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AltTabletMenuFile( 
            /* [retval][out] */ BSTR *menuFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SetProjectFilePath( 
            /* [in] */ BSTR ProjectName,
            /* [in] */ BSTR ProjectFilePath) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetProjectFilePath( 
            /* [in] */ BSTR ProjectName,
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrinterConfigPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrinterConfigPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrinterDescPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrinterDescPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrinterStyleSheetPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrinterStyleSheetPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_WorkspacePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_WorkspacePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [hidden][helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ObjectARXPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [hidden][helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ObjectARXPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ColorBookPath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ColorBookPath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ToolPalettePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ToolPalettePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_QNewTemplateFile( 
            /* [in] */ BSTR templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_QNewTemplateFile( 
            /* [retval][out] */ BSTR *templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PlotLogFilePath( 
            /* [in] */ BSTR templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PlotLogFilePath( 
            /* [retval][out] */ BSTR *templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PageSetupOverridesTemplateFile( 
            /* [in] */ BSTR templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PageSetupOverridesTemplateFile( 
            /* [retval][out] */ BSTR *templateFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveInvProject( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveInvProject( 
            /* [retval][out] */ BSTR *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesFilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesFiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesFiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesFiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesFiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesFiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesFiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesFiles * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SupportPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SupportPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *orient);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DriversPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DriversPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MenuFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MenuFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnterpriseMenuFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnterpriseMenuFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomIconPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomIconPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpFilePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultInternetURL )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultInternetURL )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ConfigFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *ConfigFile);
        
        /* [hidden][helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LicenseServer )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextEditor )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextEditor )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MainDictionary )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MainDictionary )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CustomDictionary )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CustomDictionary )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltFontFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR FontFile);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltFontFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *FontFile);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FontFileMap )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FontFileMap )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrintFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrintFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrintSpoolExecutable )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrintSpoolExecutable )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PostScriptPrologFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PostScriptPrologFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrintSpoolerPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrintSpoolerPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSavePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR autoSavePath);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSavePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *autoSavePath);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TemplateDwgPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TemplateDwgPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogFilePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TempFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TempFilePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TempXrefPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TempXrefPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextureMapPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextureMapPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AltTabletMenuFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR menuFile);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AltTabletMenuFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *menuFile);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SetProjectFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR ProjectName,
            /* [in] */ BSTR ProjectFilePath);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetProjectFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR ProjectName,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterConfigPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterConfigPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterDescPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterDescPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterStyleSheetPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterStyleSheetPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_WorkspacePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_WorkspacePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [hidden][helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ObjectARXPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [hidden][helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ObjectARXPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ColorBookPath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ColorBookPath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ToolPalettePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ToolPalettePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_QNewTemplateFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR templateFile);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_QNewTemplateFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *templateFile);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotLogFilePath )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR templateFile);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotLogFilePath )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *templateFile);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PageSetupOverridesTemplateFile )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR templateFile);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PageSetupOverridesTemplateFile )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *templateFile);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveInvProject )( 
            IAcadPreferencesFiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveInvProject )( 
            IAcadPreferencesFiles * This,
            /* [retval][out] */ BSTR *path);
        
        END_INTERFACE
    } IAcadPreferencesFilesVtbl;

    interface IAcadPreferencesFiles
    {
        CONST_VTBL struct IAcadPreferencesFilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesFiles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesFiles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesFiles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesFiles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesFiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesFiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesFiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesFiles_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesFiles_put_SupportPath(This,path)	\
    ( (This)->lpVtbl -> put_SupportPath(This,path) ) 

#define IAcadPreferencesFiles_get_SupportPath(This,orient)	\
    ( (This)->lpVtbl -> get_SupportPath(This,orient) ) 

#define IAcadPreferencesFiles_put_DriversPath(This,path)	\
    ( (This)->lpVtbl -> put_DriversPath(This,path) ) 

#define IAcadPreferencesFiles_get_DriversPath(This,path)	\
    ( (This)->lpVtbl -> get_DriversPath(This,path) ) 

#define IAcadPreferencesFiles_put_MenuFile(This,path)	\
    ( (This)->lpVtbl -> put_MenuFile(This,path) ) 

#define IAcadPreferencesFiles_get_MenuFile(This,path)	\
    ( (This)->lpVtbl -> get_MenuFile(This,path) ) 

#define IAcadPreferencesFiles_put_EnterpriseMenuFile(This,path)	\
    ( (This)->lpVtbl -> put_EnterpriseMenuFile(This,path) ) 

#define IAcadPreferencesFiles_get_EnterpriseMenuFile(This,path)	\
    ( (This)->lpVtbl -> get_EnterpriseMenuFile(This,path) ) 

#define IAcadPreferencesFiles_put_CustomIconPath(This,path)	\
    ( (This)->lpVtbl -> put_CustomIconPath(This,path) ) 

#define IAcadPreferencesFiles_get_CustomIconPath(This,path)	\
    ( (This)->lpVtbl -> get_CustomIconPath(This,path) ) 

#define IAcadPreferencesFiles_put_HelpFilePath(This,path)	\
    ( (This)->lpVtbl -> put_HelpFilePath(This,path) ) 

#define IAcadPreferencesFiles_get_HelpFilePath(This,path)	\
    ( (This)->lpVtbl -> get_HelpFilePath(This,path) ) 

#define IAcadPreferencesFiles_put_DefaultInternetURL(This,path)	\
    ( (This)->lpVtbl -> put_DefaultInternetURL(This,path) ) 

#define IAcadPreferencesFiles_get_DefaultInternetURL(This,path)	\
    ( (This)->lpVtbl -> get_DefaultInternetURL(This,path) ) 

#define IAcadPreferencesFiles_get_ConfigFile(This,ConfigFile)	\
    ( (This)->lpVtbl -> get_ConfigFile(This,ConfigFile) ) 

#define IAcadPreferencesFiles_get_LicenseServer(This,path)	\
    ( (This)->lpVtbl -> get_LicenseServer(This,path) ) 

#define IAcadPreferencesFiles_put_TextEditor(This,path)	\
    ( (This)->lpVtbl -> put_TextEditor(This,path) ) 

#define IAcadPreferencesFiles_get_TextEditor(This,path)	\
    ( (This)->lpVtbl -> get_TextEditor(This,path) ) 

#define IAcadPreferencesFiles_put_MainDictionary(This,path)	\
    ( (This)->lpVtbl -> put_MainDictionary(This,path) ) 

#define IAcadPreferencesFiles_get_MainDictionary(This,path)	\
    ( (This)->lpVtbl -> get_MainDictionary(This,path) ) 

#define IAcadPreferencesFiles_put_CustomDictionary(This,path)	\
    ( (This)->lpVtbl -> put_CustomDictionary(This,path) ) 

#define IAcadPreferencesFiles_get_CustomDictionary(This,path)	\
    ( (This)->lpVtbl -> get_CustomDictionary(This,path) ) 

#define IAcadPreferencesFiles_put_AltFontFile(This,FontFile)	\
    ( (This)->lpVtbl -> put_AltFontFile(This,FontFile) ) 

#define IAcadPreferencesFiles_get_AltFontFile(This,FontFile)	\
    ( (This)->lpVtbl -> get_AltFontFile(This,FontFile) ) 

#define IAcadPreferencesFiles_put_FontFileMap(This,path)	\
    ( (This)->lpVtbl -> put_FontFileMap(This,path) ) 

#define IAcadPreferencesFiles_get_FontFileMap(This,path)	\
    ( (This)->lpVtbl -> get_FontFileMap(This,path) ) 

#define IAcadPreferencesFiles_put_PrintFile(This,path)	\
    ( (This)->lpVtbl -> put_PrintFile(This,path) ) 

#define IAcadPreferencesFiles_get_PrintFile(This,path)	\
    ( (This)->lpVtbl -> get_PrintFile(This,path) ) 

#define IAcadPreferencesFiles_put_PrintSpoolExecutable(This,path)	\
    ( (This)->lpVtbl -> put_PrintSpoolExecutable(This,path) ) 

#define IAcadPreferencesFiles_get_PrintSpoolExecutable(This,path)	\
    ( (This)->lpVtbl -> get_PrintSpoolExecutable(This,path) ) 

#define IAcadPreferencesFiles_put_PostScriptPrologFile(This,path)	\
    ( (This)->lpVtbl -> put_PostScriptPrologFile(This,path) ) 

#define IAcadPreferencesFiles_get_PostScriptPrologFile(This,path)	\
    ( (This)->lpVtbl -> get_PostScriptPrologFile(This,path) ) 

#define IAcadPreferencesFiles_put_PrintSpoolerPath(This,path)	\
    ( (This)->lpVtbl -> put_PrintSpoolerPath(This,path) ) 

#define IAcadPreferencesFiles_get_PrintSpoolerPath(This,path)	\
    ( (This)->lpVtbl -> get_PrintSpoolerPath(This,path) ) 

#define IAcadPreferencesFiles_put_AutoSavePath(This,autoSavePath)	\
    ( (This)->lpVtbl -> put_AutoSavePath(This,autoSavePath) ) 

#define IAcadPreferencesFiles_get_AutoSavePath(This,autoSavePath)	\
    ( (This)->lpVtbl -> get_AutoSavePath(This,autoSavePath) ) 

#define IAcadPreferencesFiles_put_TemplateDwgPath(This,path)	\
    ( (This)->lpVtbl -> put_TemplateDwgPath(This,path) ) 

#define IAcadPreferencesFiles_get_TemplateDwgPath(This,path)	\
    ( (This)->lpVtbl -> get_TemplateDwgPath(This,path) ) 

#define IAcadPreferencesFiles_put_LogFilePath(This,path)	\
    ( (This)->lpVtbl -> put_LogFilePath(This,path) ) 

#define IAcadPreferencesFiles_get_LogFilePath(This,path)	\
    ( (This)->lpVtbl -> get_LogFilePath(This,path) ) 

#define IAcadPreferencesFiles_put_TempFilePath(This,path)	\
    ( (This)->lpVtbl -> put_TempFilePath(This,path) ) 

#define IAcadPreferencesFiles_get_TempFilePath(This,path)	\
    ( (This)->lpVtbl -> get_TempFilePath(This,path) ) 

#define IAcadPreferencesFiles_put_TempXrefPath(This,path)	\
    ( (This)->lpVtbl -> put_TempXrefPath(This,path) ) 

#define IAcadPreferencesFiles_get_TempXrefPath(This,path)	\
    ( (This)->lpVtbl -> get_TempXrefPath(This,path) ) 

#define IAcadPreferencesFiles_put_TextureMapPath(This,path)	\
    ( (This)->lpVtbl -> put_TextureMapPath(This,path) ) 

#define IAcadPreferencesFiles_get_TextureMapPath(This,path)	\
    ( (This)->lpVtbl -> get_TextureMapPath(This,path) ) 

#define IAcadPreferencesFiles_put_AltTabletMenuFile(This,menuFile)	\
    ( (This)->lpVtbl -> put_AltTabletMenuFile(This,menuFile) ) 

#define IAcadPreferencesFiles_get_AltTabletMenuFile(This,menuFile)	\
    ( (This)->lpVtbl -> get_AltTabletMenuFile(This,menuFile) ) 

#define IAcadPreferencesFiles_SetProjectFilePath(This,ProjectName,ProjectFilePath)	\
    ( (This)->lpVtbl -> SetProjectFilePath(This,ProjectName,ProjectFilePath) ) 

#define IAcadPreferencesFiles_GetProjectFilePath(This,ProjectName,path)	\
    ( (This)->lpVtbl -> GetProjectFilePath(This,ProjectName,path) ) 

#define IAcadPreferencesFiles_put_PrinterConfigPath(This,path)	\
    ( (This)->lpVtbl -> put_PrinterConfigPath(This,path) ) 

#define IAcadPreferencesFiles_get_PrinterConfigPath(This,path)	\
    ( (This)->lpVtbl -> get_PrinterConfigPath(This,path) ) 

#define IAcadPreferencesFiles_put_PrinterDescPath(This,path)	\
    ( (This)->lpVtbl -> put_PrinterDescPath(This,path) ) 

#define IAcadPreferencesFiles_get_PrinterDescPath(This,path)	\
    ( (This)->lpVtbl -> get_PrinterDescPath(This,path) ) 

#define IAcadPreferencesFiles_put_PrinterStyleSheetPath(This,path)	\
    ( (This)->lpVtbl -> put_PrinterStyleSheetPath(This,path) ) 

#define IAcadPreferencesFiles_get_PrinterStyleSheetPath(This,path)	\
    ( (This)->lpVtbl -> get_PrinterStyleSheetPath(This,path) ) 

#define IAcadPreferencesFiles_put_WorkspacePath(This,path)	\
    ( (This)->lpVtbl -> put_WorkspacePath(This,path) ) 

#define IAcadPreferencesFiles_get_WorkspacePath(This,path)	\
    ( (This)->lpVtbl -> get_WorkspacePath(This,path) ) 

#define IAcadPreferencesFiles_put_ObjectARXPath(This,path)	\
    ( (This)->lpVtbl -> put_ObjectARXPath(This,path) ) 

#define IAcadPreferencesFiles_get_ObjectARXPath(This,path)	\
    ( (This)->lpVtbl -> get_ObjectARXPath(This,path) ) 

#define IAcadPreferencesFiles_put_ColorBookPath(This,path)	\
    ( (This)->lpVtbl -> put_ColorBookPath(This,path) ) 

#define IAcadPreferencesFiles_get_ColorBookPath(This,path)	\
    ( (This)->lpVtbl -> get_ColorBookPath(This,path) ) 

#define IAcadPreferencesFiles_put_ToolPalettePath(This,path)	\
    ( (This)->lpVtbl -> put_ToolPalettePath(This,path) ) 

#define IAcadPreferencesFiles_get_ToolPalettePath(This,path)	\
    ( (This)->lpVtbl -> get_ToolPalettePath(This,path) ) 

#define IAcadPreferencesFiles_put_QNewTemplateFile(This,templateFile)	\
    ( (This)->lpVtbl -> put_QNewTemplateFile(This,templateFile) ) 

#define IAcadPreferencesFiles_get_QNewTemplateFile(This,templateFile)	\
    ( (This)->lpVtbl -> get_QNewTemplateFile(This,templateFile) ) 

#define IAcadPreferencesFiles_put_PlotLogFilePath(This,templateFile)	\
    ( (This)->lpVtbl -> put_PlotLogFilePath(This,templateFile) ) 

#define IAcadPreferencesFiles_get_PlotLogFilePath(This,templateFile)	\
    ( (This)->lpVtbl -> get_PlotLogFilePath(This,templateFile) ) 

#define IAcadPreferencesFiles_put_PageSetupOverridesTemplateFile(This,templateFile)	\
    ( (This)->lpVtbl -> put_PageSetupOverridesTemplateFile(This,templateFile) ) 

#define IAcadPreferencesFiles_get_PageSetupOverridesTemplateFile(This,templateFile)	\
    ( (This)->lpVtbl -> get_PageSetupOverridesTemplateFile(This,templateFile) ) 

#define IAcadPreferencesFiles_put_ActiveInvProject(This,path)	\
    ( (This)->lpVtbl -> put_ActiveInvProject(This,path) ) 

#define IAcadPreferencesFiles_get_ActiveInvProject(This,path)	\
    ( (This)->lpVtbl -> get_ActiveInvProject(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesFiles_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesDisplay_INTERFACE_DEFINED__
#define __IAcadPreferencesDisplay_INTERFACE_DEFINED__

/* interface IAcadPreferencesDisplay */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesDisplay,0xAE498B67,0x347C,0x48D9,0xAA,0x12,0x00,0x2D,0x53,0x6C,0xCE,0x61);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AE498B67-347C-48D9-AA12-002D536CCE61")
    IAcadPreferencesDisplay : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutDisplayMargins( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutDisplayMargins( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutDisplayPaper( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutDisplayPaper( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutDisplayPaperShadow( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutDisplayPaperShadow( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutShowPlotSetup( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutShowPlotSetup( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutCreateViewport( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutCreateViewport( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayScrollBars( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayScrollBars( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayScreenMenu( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayScreenMenu( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_CursorSize( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_CursorSize( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DockedVisibleLines( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DockedVisibleLines( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ShowRasterImage( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShowRasterImage( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_GraphicsWinModelBackgrndColor( 
            /* [in] */ OLE_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_GraphicsWinModelBackgrndColor( 
            /* [retval][out] */ OLE_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ModelCrosshairColor( 
            /* [in] */ OLE_COLOR crossHairColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ModelCrosshairColor( 
            /* [retval][out] */ OLE_COLOR *crossHairColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_GraphicsWinLayoutBackgrndColor( 
            /* [in] */ OLE_COLOR Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_GraphicsWinLayoutBackgrndColor( 
            /* [retval][out] */ OLE_COLOR *Color) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextWinBackgrndColor( 
            /* [in] */ OLE_COLOR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextWinBackgrndColor( 
            /* [retval][out] */ OLE_COLOR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextWinTextColor( 
            /* [in] */ OLE_COLOR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextWinTextColor( 
            /* [retval][out] */ OLE_COLOR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LayoutCrosshairColor( 
            /* [in] */ OLE_COLOR crossHairColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LayoutCrosshairColor( 
            /* [retval][out] */ OLE_COLOR *crossHairColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoTrackingVecColor( 
            /* [in] */ OLE_COLOR autoTrackingVecColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoTrackingVecColor( 
            /* [retval][out] */ OLE_COLOR *autoTrackingVecColor) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextFont( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextFont( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextFontStyle( 
            /* [in] */ AcTextFontStyle path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextFontStyle( 
            /* [retval][out] */ AcTextFontStyle *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TextFontSize( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TextFontSize( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HistoryLines( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HistoryLines( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_MaxAutoCADWindow( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_MaxAutoCADWindow( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayLayoutTabs( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayLayoutTabs( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ImageFrameHighlight( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ImageFrameHighlight( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TrueColorImages( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TrueColorImages( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_XRefFadeIntensity( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_XRefFadeIntensity( 
            /* [retval][out] */ long *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesDisplayVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesDisplay * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesDisplay * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesDisplay * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesDisplay * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutDisplayMargins )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutDisplayMargins )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutDisplayPaper )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutDisplayPaper )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutDisplayPaperShadow )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutDisplayPaperShadow )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutShowPlotSetup )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutShowPlotSetup )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutCreateViewport )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutCreateViewport )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayScrollBars )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayScrollBars )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayScreenMenu )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayScreenMenu )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CursorSize )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CursorSize )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DockedVisibleLines )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockedVisibleLines )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowRasterImage )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowRasterImage )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GraphicsWinModelBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR Color);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GraphicsWinModelBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ModelCrosshairColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR crossHairColor);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ModelCrosshairColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *crossHairColor);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GraphicsWinLayoutBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR Color);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GraphicsWinLayoutBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *Color);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextWinBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextWinBackgrndColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextWinTextColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextWinTextColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LayoutCrosshairColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR crossHairColor);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LayoutCrosshairColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *crossHairColor);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoTrackingVecColor )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ OLE_COLOR autoTrackingVecColor);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoTrackingVecColor )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ OLE_COLOR *autoTrackingVecColor);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFont )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFont )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFontStyle )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ AcTextFontStyle path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFontStyle )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ AcTextFontStyle *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TextFontSize )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TextFontSize )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HistoryLines )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HistoryLines )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MaxAutoCADWindow )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MaxAutoCADWindow )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayLayoutTabs )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayLayoutTabs )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ImageFrameHighlight )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ImageFrameHighlight )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TrueColorImages )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TrueColorImages )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XRefFadeIntensity )( 
            IAcadPreferencesDisplay * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XRefFadeIntensity )( 
            IAcadPreferencesDisplay * This,
            /* [retval][out] */ long *path);
        
        END_INTERFACE
    } IAcadPreferencesDisplayVtbl;

    interface IAcadPreferencesDisplay
    {
        CONST_VTBL struct IAcadPreferencesDisplayVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesDisplay_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesDisplay_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesDisplay_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesDisplay_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesDisplay_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesDisplay_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesDisplay_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesDisplay_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesDisplay_put_LayoutDisplayMargins(This,path)	\
    ( (This)->lpVtbl -> put_LayoutDisplayMargins(This,path) ) 

#define IAcadPreferencesDisplay_get_LayoutDisplayMargins(This,path)	\
    ( (This)->lpVtbl -> get_LayoutDisplayMargins(This,path) ) 

#define IAcadPreferencesDisplay_put_LayoutDisplayPaper(This,path)	\
    ( (This)->lpVtbl -> put_LayoutDisplayPaper(This,path) ) 

#define IAcadPreferencesDisplay_get_LayoutDisplayPaper(This,path)	\
    ( (This)->lpVtbl -> get_LayoutDisplayPaper(This,path) ) 

#define IAcadPreferencesDisplay_put_LayoutDisplayPaperShadow(This,path)	\
    ( (This)->lpVtbl -> put_LayoutDisplayPaperShadow(This,path) ) 

#define IAcadPreferencesDisplay_get_LayoutDisplayPaperShadow(This,path)	\
    ( (This)->lpVtbl -> get_LayoutDisplayPaperShadow(This,path) ) 

#define IAcadPreferencesDisplay_put_LayoutShowPlotSetup(This,path)	\
    ( (This)->lpVtbl -> put_LayoutShowPlotSetup(This,path) ) 

#define IAcadPreferencesDisplay_get_LayoutShowPlotSetup(This,path)	\
    ( (This)->lpVtbl -> get_LayoutShowPlotSetup(This,path) ) 

#define IAcadPreferencesDisplay_put_LayoutCreateViewport(This,path)	\
    ( (This)->lpVtbl -> put_LayoutCreateViewport(This,path) ) 

#define IAcadPreferencesDisplay_get_LayoutCreateViewport(This,path)	\
    ( (This)->lpVtbl -> get_LayoutCreateViewport(This,path) ) 

#define IAcadPreferencesDisplay_put_DisplayScrollBars(This,path)	\
    ( (This)->lpVtbl -> put_DisplayScrollBars(This,path) ) 

#define IAcadPreferencesDisplay_get_DisplayScrollBars(This,path)	\
    ( (This)->lpVtbl -> get_DisplayScrollBars(This,path) ) 

#define IAcadPreferencesDisplay_put_DisplayScreenMenu(This,path)	\
    ( (This)->lpVtbl -> put_DisplayScreenMenu(This,path) ) 

#define IAcadPreferencesDisplay_get_DisplayScreenMenu(This,path)	\
    ( (This)->lpVtbl -> get_DisplayScreenMenu(This,path) ) 

#define IAcadPreferencesDisplay_put_CursorSize(This,path)	\
    ( (This)->lpVtbl -> put_CursorSize(This,path) ) 

#define IAcadPreferencesDisplay_get_CursorSize(This,path)	\
    ( (This)->lpVtbl -> get_CursorSize(This,path) ) 

#define IAcadPreferencesDisplay_put_DockedVisibleLines(This,path)	\
    ( (This)->lpVtbl -> put_DockedVisibleLines(This,path) ) 

#define IAcadPreferencesDisplay_get_DockedVisibleLines(This,path)	\
    ( (This)->lpVtbl -> get_DockedVisibleLines(This,path) ) 

#define IAcadPreferencesDisplay_put_ShowRasterImage(This,path)	\
    ( (This)->lpVtbl -> put_ShowRasterImage(This,path) ) 

#define IAcadPreferencesDisplay_get_ShowRasterImage(This,path)	\
    ( (This)->lpVtbl -> get_ShowRasterImage(This,path) ) 

#define IAcadPreferencesDisplay_put_GraphicsWinModelBackgrndColor(This,Color)	\
    ( (This)->lpVtbl -> put_GraphicsWinModelBackgrndColor(This,Color) ) 

#define IAcadPreferencesDisplay_get_GraphicsWinModelBackgrndColor(This,Color)	\
    ( (This)->lpVtbl -> get_GraphicsWinModelBackgrndColor(This,Color) ) 

#define IAcadPreferencesDisplay_put_ModelCrosshairColor(This,crossHairColor)	\
    ( (This)->lpVtbl -> put_ModelCrosshairColor(This,crossHairColor) ) 

#define IAcadPreferencesDisplay_get_ModelCrosshairColor(This,crossHairColor)	\
    ( (This)->lpVtbl -> get_ModelCrosshairColor(This,crossHairColor) ) 

#define IAcadPreferencesDisplay_put_GraphicsWinLayoutBackgrndColor(This,Color)	\
    ( (This)->lpVtbl -> put_GraphicsWinLayoutBackgrndColor(This,Color) ) 

#define IAcadPreferencesDisplay_get_GraphicsWinLayoutBackgrndColor(This,Color)	\
    ( (This)->lpVtbl -> get_GraphicsWinLayoutBackgrndColor(This,Color) ) 

#define IAcadPreferencesDisplay_put_TextWinBackgrndColor(This,path)	\
    ( (This)->lpVtbl -> put_TextWinBackgrndColor(This,path) ) 

#define IAcadPreferencesDisplay_get_TextWinBackgrndColor(This,path)	\
    ( (This)->lpVtbl -> get_TextWinBackgrndColor(This,path) ) 

#define IAcadPreferencesDisplay_put_TextWinTextColor(This,path)	\
    ( (This)->lpVtbl -> put_TextWinTextColor(This,path) ) 

#define IAcadPreferencesDisplay_get_TextWinTextColor(This,path)	\
    ( (This)->lpVtbl -> get_TextWinTextColor(This,path) ) 

#define IAcadPreferencesDisplay_put_LayoutCrosshairColor(This,crossHairColor)	\
    ( (This)->lpVtbl -> put_LayoutCrosshairColor(This,crossHairColor) ) 

#define IAcadPreferencesDisplay_get_LayoutCrosshairColor(This,crossHairColor)	\
    ( (This)->lpVtbl -> get_LayoutCrosshairColor(This,crossHairColor) ) 

#define IAcadPreferencesDisplay_put_AutoTrackingVecColor(This,autoTrackingVecColor)	\
    ( (This)->lpVtbl -> put_AutoTrackingVecColor(This,autoTrackingVecColor) ) 

#define IAcadPreferencesDisplay_get_AutoTrackingVecColor(This,autoTrackingVecColor)	\
    ( (This)->lpVtbl -> get_AutoTrackingVecColor(This,autoTrackingVecColor) ) 

#define IAcadPreferencesDisplay_put_TextFont(This,path)	\
    ( (This)->lpVtbl -> put_TextFont(This,path) ) 

#define IAcadPreferencesDisplay_get_TextFont(This,path)	\
    ( (This)->lpVtbl -> get_TextFont(This,path) ) 

#define IAcadPreferencesDisplay_put_TextFontStyle(This,path)	\
    ( (This)->lpVtbl -> put_TextFontStyle(This,path) ) 

#define IAcadPreferencesDisplay_get_TextFontStyle(This,path)	\
    ( (This)->lpVtbl -> get_TextFontStyle(This,path) ) 

#define IAcadPreferencesDisplay_put_TextFontSize(This,path)	\
    ( (This)->lpVtbl -> put_TextFontSize(This,path) ) 

#define IAcadPreferencesDisplay_get_TextFontSize(This,path)	\
    ( (This)->lpVtbl -> get_TextFontSize(This,path) ) 

#define IAcadPreferencesDisplay_put_HistoryLines(This,path)	\
    ( (This)->lpVtbl -> put_HistoryLines(This,path) ) 

#define IAcadPreferencesDisplay_get_HistoryLines(This,path)	\
    ( (This)->lpVtbl -> get_HistoryLines(This,path) ) 

#define IAcadPreferencesDisplay_put_MaxAutoCADWindow(This,path)	\
    ( (This)->lpVtbl -> put_MaxAutoCADWindow(This,path) ) 

#define IAcadPreferencesDisplay_get_MaxAutoCADWindow(This,path)	\
    ( (This)->lpVtbl -> get_MaxAutoCADWindow(This,path) ) 

#define IAcadPreferencesDisplay_put_DisplayLayoutTabs(This,path)	\
    ( (This)->lpVtbl -> put_DisplayLayoutTabs(This,path) ) 

#define IAcadPreferencesDisplay_get_DisplayLayoutTabs(This,path)	\
    ( (This)->lpVtbl -> get_DisplayLayoutTabs(This,path) ) 

#define IAcadPreferencesDisplay_put_ImageFrameHighlight(This,path)	\
    ( (This)->lpVtbl -> put_ImageFrameHighlight(This,path) ) 

#define IAcadPreferencesDisplay_get_ImageFrameHighlight(This,path)	\
    ( (This)->lpVtbl -> get_ImageFrameHighlight(This,path) ) 

#define IAcadPreferencesDisplay_put_TrueColorImages(This,path)	\
    ( (This)->lpVtbl -> put_TrueColorImages(This,path) ) 

#define IAcadPreferencesDisplay_get_TrueColorImages(This,path)	\
    ( (This)->lpVtbl -> get_TrueColorImages(This,path) ) 

#define IAcadPreferencesDisplay_put_XRefFadeIntensity(This,path)	\
    ( (This)->lpVtbl -> put_XRefFadeIntensity(This,path) ) 

#define IAcadPreferencesDisplay_get_XRefFadeIntensity(This,path)	\
    ( (This)->lpVtbl -> get_XRefFadeIntensity(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesDisplay_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesOpenSave_INTERFACE_DEFINED__
#define __IAcadPreferencesOpenSave_INTERFACE_DEFINED__

/* interface IAcadPreferencesOpenSave */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesOpenSave,0x191F14B0,0x83EE,0x4EB4,0x89,0x8D,0x74,0xCB,0x09,0xA8,0x57,0x1F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("191F14B0-83EE-4EB4-898D-74CB09A8571F")
    IAcadPreferencesOpenSave : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SavePreviewThumbnail( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SavePreviewThumbnail( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_IncrementalSavePercent( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_IncrementalSavePercent( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSaveInterval( 
            /* [in] */ int path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSaveInterval( 
            /* [retval][out] */ int *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_CreateBackup( 
            /* [in] */ VARIANT_BOOL createBackup) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_CreateBackup( 
            /* [retval][out] */ VARIANT_BOOL *createBackup) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_FullCRCValidation( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_FullCRCValidation( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LogFileOn( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LogFileOn( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TempFileExtension( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TempFileExtension( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_XrefDemandLoad( 
            /* [in] */ AcXRefDemandLoad path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_XrefDemandLoad( 
            /* [retval][out] */ AcXRefDemandLoad *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DemandLoadARXApp( 
            /* [in] */ AcARXDemandLoad path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DemandLoadARXApp( 
            /* [retval][out] */ AcARXDemandLoad *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ProxyImage( 
            /* [in] */ AcProxyImage path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ProxyImage( 
            /* [retval][out] */ AcProxyImage *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ShowProxyDialogBox( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShowProxyDialogBox( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoAudit( 
            /* [in] */ VARIANT_BOOL bAudit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoAudit( 
            /* [retval][out] */ VARIANT_BOOL *bAudit) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SaveAsType( 
            /* [in] */ AcSaveAsType path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SaveAsType( 
            /* [retval][out] */ AcSaveAsType *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_MRUNumber( 
            /* [retval][out] */ long *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesOpenSaveVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesOpenSave * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesOpenSave * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesOpenSave * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesOpenSave * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SavePreviewThumbnail )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SavePreviewThumbnail )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_IncrementalSavePercent )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_IncrementalSavePercent )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSaveInterval )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ int path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSaveInterval )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ int *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CreateBackup )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL createBackup);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CreateBackup )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *createBackup);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullCRCValidation )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullCRCValidation )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LogFileOn )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LogFileOn )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TempFileExtension )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TempFileExtension )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_XrefDemandLoad )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ AcXRefDemandLoad path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_XrefDemandLoad )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ AcXRefDemandLoad *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DemandLoadARXApp )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ AcARXDemandLoad path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DemandLoadARXApp )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ AcARXDemandLoad *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ProxyImage )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ AcProxyImage path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ProxyImage )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ AcProxyImage *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowProxyDialogBox )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowProxyDialogBox )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoAudit )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ VARIANT_BOOL bAudit);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoAudit )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ VARIANT_BOOL *bAudit);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SaveAsType )( 
            IAcadPreferencesOpenSave * This,
            /* [in] */ AcSaveAsType path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SaveAsType )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ AcSaveAsType *path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MRUNumber )( 
            IAcadPreferencesOpenSave * This,
            /* [retval][out] */ long *path);
        
        END_INTERFACE
    } IAcadPreferencesOpenSaveVtbl;

    interface IAcadPreferencesOpenSave
    {
        CONST_VTBL struct IAcadPreferencesOpenSaveVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesOpenSave_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesOpenSave_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesOpenSave_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesOpenSave_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesOpenSave_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesOpenSave_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesOpenSave_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesOpenSave_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesOpenSave_put_SavePreviewThumbnail(This,path)	\
    ( (This)->lpVtbl -> put_SavePreviewThumbnail(This,path) ) 

#define IAcadPreferencesOpenSave_get_SavePreviewThumbnail(This,path)	\
    ( (This)->lpVtbl -> get_SavePreviewThumbnail(This,path) ) 

#define IAcadPreferencesOpenSave_put_IncrementalSavePercent(This,path)	\
    ( (This)->lpVtbl -> put_IncrementalSavePercent(This,path) ) 

#define IAcadPreferencesOpenSave_get_IncrementalSavePercent(This,path)	\
    ( (This)->lpVtbl -> get_IncrementalSavePercent(This,path) ) 

#define IAcadPreferencesOpenSave_put_AutoSaveInterval(This,path)	\
    ( (This)->lpVtbl -> put_AutoSaveInterval(This,path) ) 

#define IAcadPreferencesOpenSave_get_AutoSaveInterval(This,path)	\
    ( (This)->lpVtbl -> get_AutoSaveInterval(This,path) ) 

#define IAcadPreferencesOpenSave_put_CreateBackup(This,createBackup)	\
    ( (This)->lpVtbl -> put_CreateBackup(This,createBackup) ) 

#define IAcadPreferencesOpenSave_get_CreateBackup(This,createBackup)	\
    ( (This)->lpVtbl -> get_CreateBackup(This,createBackup) ) 

#define IAcadPreferencesOpenSave_put_FullCRCValidation(This,path)	\
    ( (This)->lpVtbl -> put_FullCRCValidation(This,path) ) 

#define IAcadPreferencesOpenSave_get_FullCRCValidation(This,path)	\
    ( (This)->lpVtbl -> get_FullCRCValidation(This,path) ) 

#define IAcadPreferencesOpenSave_put_LogFileOn(This,path)	\
    ( (This)->lpVtbl -> put_LogFileOn(This,path) ) 

#define IAcadPreferencesOpenSave_get_LogFileOn(This,path)	\
    ( (This)->lpVtbl -> get_LogFileOn(This,path) ) 

#define IAcadPreferencesOpenSave_put_TempFileExtension(This,path)	\
    ( (This)->lpVtbl -> put_TempFileExtension(This,path) ) 

#define IAcadPreferencesOpenSave_get_TempFileExtension(This,path)	\
    ( (This)->lpVtbl -> get_TempFileExtension(This,path) ) 

#define IAcadPreferencesOpenSave_put_XrefDemandLoad(This,path)	\
    ( (This)->lpVtbl -> put_XrefDemandLoad(This,path) ) 

#define IAcadPreferencesOpenSave_get_XrefDemandLoad(This,path)	\
    ( (This)->lpVtbl -> get_XrefDemandLoad(This,path) ) 

#define IAcadPreferencesOpenSave_put_DemandLoadARXApp(This,path)	\
    ( (This)->lpVtbl -> put_DemandLoadARXApp(This,path) ) 

#define IAcadPreferencesOpenSave_get_DemandLoadARXApp(This,path)	\
    ( (This)->lpVtbl -> get_DemandLoadARXApp(This,path) ) 

#define IAcadPreferencesOpenSave_put_ProxyImage(This,path)	\
    ( (This)->lpVtbl -> put_ProxyImage(This,path) ) 

#define IAcadPreferencesOpenSave_get_ProxyImage(This,path)	\
    ( (This)->lpVtbl -> get_ProxyImage(This,path) ) 

#define IAcadPreferencesOpenSave_put_ShowProxyDialogBox(This,path)	\
    ( (This)->lpVtbl -> put_ShowProxyDialogBox(This,path) ) 

#define IAcadPreferencesOpenSave_get_ShowProxyDialogBox(This,path)	\
    ( (This)->lpVtbl -> get_ShowProxyDialogBox(This,path) ) 

#define IAcadPreferencesOpenSave_put_AutoAudit(This,bAudit)	\
    ( (This)->lpVtbl -> put_AutoAudit(This,bAudit) ) 

#define IAcadPreferencesOpenSave_get_AutoAudit(This,bAudit)	\
    ( (This)->lpVtbl -> get_AutoAudit(This,bAudit) ) 

#define IAcadPreferencesOpenSave_put_SaveAsType(This,path)	\
    ( (This)->lpVtbl -> put_SaveAsType(This,path) ) 

#define IAcadPreferencesOpenSave_get_SaveAsType(This,path)	\
    ( (This)->lpVtbl -> get_SaveAsType(This,path) ) 

#define IAcadPreferencesOpenSave_get_MRUNumber(This,path)	\
    ( (This)->lpVtbl -> get_MRUNumber(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesOpenSave_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesUser_INTERFACE_DEFINED__
#define __IAcadPreferencesUser_INTERFACE_DEFINED__

/* interface IAcadPreferencesUser */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesUser,0x0712716A,0xEDF4,0x43E3,0xB4,0xE0,0xBE,0x00,0x03,0x5D,0x5B,0x3E);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0712716A-EDF4-43E3-B4E0-BE00035D5B3E")
    IAcadPreferencesUser : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_KeyboardAccelerator( 
            /* [in] */ AcKeyboardAccelerator path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardAccelerator( 
            /* [retval][out] */ AcKeyboardAccelerator *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_KeyboardPriority( 
            /* [in] */ AcKeyboardPriority path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_KeyboardPriority( 
            /* [retval][out] */ AcKeyboardPriority *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HyperlinkDisplayCursor( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HyperlinkDisplayCursor( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ADCInsertUnitsDefaultSource( 
            /* [in] */ AcInsertUnits IU) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ADCInsertUnitsDefaultSource( 
            /* [retval][out] */ AcInsertUnits *pIU) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ADCInsertUnitsDefaultTarget( 
            /* [in] */ AcInsertUnits SUnits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ADCInsertUnitsDefaultTarget( 
            /* [retval][out] */ AcInsertUnits *pSUunits) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ShortCutMenuDisplay( 
            /* [in] */ VARIANT_BOOL SCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShortCutMenuDisplay( 
            /* [retval][out] */ VARIANT_BOOL *pSCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SCMDefaultMode( 
            /* [in] */ AcDrawingAreaSCMDefault SCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SCMDefaultMode( 
            /* [retval][out] */ AcDrawingAreaSCMDefault *pSCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SCMEditMode( 
            /* [in] */ AcDrawingAreaSCMEdit SCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SCMEditMode( 
            /* [retval][out] */ AcDrawingAreaSCMEdit *pSCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SCMCommandMode( 
            /* [in] */ AcDrawingAreaSCMCommand SCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SCMCommandMode( 
            /* [retval][out] */ AcDrawingAreaSCMCommand *pSCM) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SCMTimeMode( 
            /* [in] */ VARIANT_BOOL time) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SCMTimeMode( 
            /* [retval][out] */ VARIANT_BOOL *time) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SCMTimeValue( 
            /* [in] */ int time) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SCMTimeValue( 
            /* [retval][out] */ int *time) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesUserVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesUser * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesUser * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesUser * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesUser * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesUser * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesUser * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesUser * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardAccelerator )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcKeyboardAccelerator path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardAccelerator )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcKeyboardAccelerator *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_KeyboardPriority )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcKeyboardPriority path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_KeyboardPriority )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcKeyboardPriority *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HyperlinkDisplayCursor )( 
            IAcadPreferencesUser * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HyperlinkDisplayCursor )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ADCInsertUnitsDefaultSource )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcInsertUnits IU);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADCInsertUnitsDefaultSource )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcInsertUnits *pIU);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ADCInsertUnitsDefaultTarget )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcInsertUnits SUnits);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ADCInsertUnitsDefaultTarget )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcInsertUnits *pSUunits);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShortCutMenuDisplay )( 
            IAcadPreferencesUser * This,
            /* [in] */ VARIANT_BOOL SCM);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortCutMenuDisplay )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ VARIANT_BOOL *pSCM);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SCMDefaultMode )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcDrawingAreaSCMDefault SCM);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SCMDefaultMode )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcDrawingAreaSCMDefault *pSCM);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SCMEditMode )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcDrawingAreaSCMEdit SCM);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SCMEditMode )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcDrawingAreaSCMEdit *pSCM);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SCMCommandMode )( 
            IAcadPreferencesUser * This,
            /* [in] */ AcDrawingAreaSCMCommand SCM);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SCMCommandMode )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ AcDrawingAreaSCMCommand *pSCM);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SCMTimeMode )( 
            IAcadPreferencesUser * This,
            /* [in] */ VARIANT_BOOL time);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SCMTimeMode )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ VARIANT_BOOL *time);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SCMTimeValue )( 
            IAcadPreferencesUser * This,
            /* [in] */ int time);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SCMTimeValue )( 
            IAcadPreferencesUser * This,
            /* [retval][out] */ int *time);
        
        END_INTERFACE
    } IAcadPreferencesUserVtbl;

    interface IAcadPreferencesUser
    {
        CONST_VTBL struct IAcadPreferencesUserVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesUser_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesUser_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesUser_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesUser_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesUser_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesUser_put_KeyboardAccelerator(This,path)	\
    ( (This)->lpVtbl -> put_KeyboardAccelerator(This,path) ) 

#define IAcadPreferencesUser_get_KeyboardAccelerator(This,path)	\
    ( (This)->lpVtbl -> get_KeyboardAccelerator(This,path) ) 

#define IAcadPreferencesUser_put_KeyboardPriority(This,path)	\
    ( (This)->lpVtbl -> put_KeyboardPriority(This,path) ) 

#define IAcadPreferencesUser_get_KeyboardPriority(This,path)	\
    ( (This)->lpVtbl -> get_KeyboardPriority(This,path) ) 

#define IAcadPreferencesUser_put_HyperlinkDisplayCursor(This,path)	\
    ( (This)->lpVtbl -> put_HyperlinkDisplayCursor(This,path) ) 

#define IAcadPreferencesUser_get_HyperlinkDisplayCursor(This,path)	\
    ( (This)->lpVtbl -> get_HyperlinkDisplayCursor(This,path) ) 

#define IAcadPreferencesUser_put_ADCInsertUnitsDefaultSource(This,IU)	\
    ( (This)->lpVtbl -> put_ADCInsertUnitsDefaultSource(This,IU) ) 

#define IAcadPreferencesUser_get_ADCInsertUnitsDefaultSource(This,pIU)	\
    ( (This)->lpVtbl -> get_ADCInsertUnitsDefaultSource(This,pIU) ) 

#define IAcadPreferencesUser_put_ADCInsertUnitsDefaultTarget(This,SUnits)	\
    ( (This)->lpVtbl -> put_ADCInsertUnitsDefaultTarget(This,SUnits) ) 

#define IAcadPreferencesUser_get_ADCInsertUnitsDefaultTarget(This,pSUunits)	\
    ( (This)->lpVtbl -> get_ADCInsertUnitsDefaultTarget(This,pSUunits) ) 

#define IAcadPreferencesUser_put_ShortCutMenuDisplay(This,SCM)	\
    ( (This)->lpVtbl -> put_ShortCutMenuDisplay(This,SCM) ) 

#define IAcadPreferencesUser_get_ShortCutMenuDisplay(This,pSCM)	\
    ( (This)->lpVtbl -> get_ShortCutMenuDisplay(This,pSCM) ) 

#define IAcadPreferencesUser_put_SCMDefaultMode(This,SCM)	\
    ( (This)->lpVtbl -> put_SCMDefaultMode(This,SCM) ) 

#define IAcadPreferencesUser_get_SCMDefaultMode(This,pSCM)	\
    ( (This)->lpVtbl -> get_SCMDefaultMode(This,pSCM) ) 

#define IAcadPreferencesUser_put_SCMEditMode(This,SCM)	\
    ( (This)->lpVtbl -> put_SCMEditMode(This,SCM) ) 

#define IAcadPreferencesUser_get_SCMEditMode(This,pSCM)	\
    ( (This)->lpVtbl -> get_SCMEditMode(This,pSCM) ) 

#define IAcadPreferencesUser_put_SCMCommandMode(This,SCM)	\
    ( (This)->lpVtbl -> put_SCMCommandMode(This,SCM) ) 

#define IAcadPreferencesUser_get_SCMCommandMode(This,pSCM)	\
    ( (This)->lpVtbl -> get_SCMCommandMode(This,pSCM) ) 

#define IAcadPreferencesUser_put_SCMTimeMode(This,time)	\
    ( (This)->lpVtbl -> put_SCMTimeMode(This,time) ) 

#define IAcadPreferencesUser_get_SCMTimeMode(This,time)	\
    ( (This)->lpVtbl -> get_SCMTimeMode(This,time) ) 

#define IAcadPreferencesUser_put_SCMTimeValue(This,time)	\
    ( (This)->lpVtbl -> put_SCMTimeValue(This,time) ) 

#define IAcadPreferencesUser_get_SCMTimeValue(This,time)	\
    ( (This)->lpVtbl -> get_SCMTimeValue(This,time) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesUser_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesProfiles_INTERFACE_DEFINED__
#define __IAcadPreferencesProfiles_INTERFACE_DEFINED__

/* interface IAcadPreferencesProfiles */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesProfiles,0x752EDDC3,0x6D02,0x4C18,0x88,0x11,0xD3,0x01,0xEC,0xE6,0x64,0x48);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("752EDDC3-6D02-4C18-8811-D301ECE66448")
    IAcadPreferencesProfiles : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveProfile( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveProfile( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE ImportProfile( 
            /* [in] */ BSTR ProfileName,
            /* [in] */ BSTR RegFile,
            /* [in] */ VARIANT_BOOL IncludePathInfo) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE ExportProfile( 
            /* [in] */ BSTR ProfileName,
            /* [in] */ BSTR RegFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE DeleteProfile( 
            /* [in] */ BSTR ProfileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE ResetProfile( 
            /* [in] */ BSTR Profile) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE RenameProfile( 
            /* [in] */ BSTR origProfileName,
            /* [in] */ BSTR newProfileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE CopyProfile( 
            /* [in] */ BSTR oldProfileName,
            /* [in] */ BSTR newProfileName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetAllProfileNames( 
            /* [out] */ VARIANT *pNames) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesProfilesVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesProfiles * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesProfiles * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesProfiles * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesProfiles * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesProfiles * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveProfile )( 
            IAcadPreferencesProfiles * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *ImportProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR ProfileName,
            /* [in] */ BSTR RegFile,
            /* [in] */ VARIANT_BOOL IncludePathInfo);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *ExportProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR ProfileName,
            /* [in] */ BSTR RegFile);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *DeleteProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR ProfileName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *ResetProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR Profile);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *RenameProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR origProfileName,
            /* [in] */ BSTR newProfileName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *CopyProfile )( 
            IAcadPreferencesProfiles * This,
            /* [in] */ BSTR oldProfileName,
            /* [in] */ BSTR newProfileName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetAllProfileNames )( 
            IAcadPreferencesProfiles * This,
            /* [out] */ VARIANT *pNames);
        
        END_INTERFACE
    } IAcadPreferencesProfilesVtbl;

    interface IAcadPreferencesProfiles
    {
        CONST_VTBL struct IAcadPreferencesProfilesVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesProfiles_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesProfiles_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesProfiles_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesProfiles_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesProfiles_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesProfiles_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesProfiles_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesProfiles_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesProfiles_put_ActiveProfile(This,path)	\
    ( (This)->lpVtbl -> put_ActiveProfile(This,path) ) 

#define IAcadPreferencesProfiles_get_ActiveProfile(This,path)	\
    ( (This)->lpVtbl -> get_ActiveProfile(This,path) ) 

#define IAcadPreferencesProfiles_ImportProfile(This,ProfileName,RegFile,IncludePathInfo)	\
    ( (This)->lpVtbl -> ImportProfile(This,ProfileName,RegFile,IncludePathInfo) ) 

#define IAcadPreferencesProfiles_ExportProfile(This,ProfileName,RegFile)	\
    ( (This)->lpVtbl -> ExportProfile(This,ProfileName,RegFile) ) 

#define IAcadPreferencesProfiles_DeleteProfile(This,ProfileName)	\
    ( (This)->lpVtbl -> DeleteProfile(This,ProfileName) ) 

#define IAcadPreferencesProfiles_ResetProfile(This,Profile)	\
    ( (This)->lpVtbl -> ResetProfile(This,Profile) ) 

#define IAcadPreferencesProfiles_RenameProfile(This,origProfileName,newProfileName)	\
    ( (This)->lpVtbl -> RenameProfile(This,origProfileName,newProfileName) ) 

#define IAcadPreferencesProfiles_CopyProfile(This,oldProfileName,newProfileName)	\
    ( (This)->lpVtbl -> CopyProfile(This,oldProfileName,newProfileName) ) 

#define IAcadPreferencesProfiles_GetAllProfileNames(This,pNames)	\
    ( (This)->lpVtbl -> GetAllProfileNames(This,pNames) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesProfiles_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesDrafting_INTERFACE_DEFINED__
#define __IAcadPreferencesDrafting_INTERFACE_DEFINED__

/* interface IAcadPreferencesDrafting */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesDrafting,0x94CB7A05,0xE951,0x4195,0xAC,0xC1,0xCC,0x33,0x45,0x54,0xB9,0xED);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("94CB7A05-E951-4195-ACC1-CC334554B9ED")
    IAcadPreferencesDrafting : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapMarker( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapMarker( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapMagnet( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapMagnet( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapTooltip( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapTooltip( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapAperture( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapAperture( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapApertureSize( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapApertureSize( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapMarkerColor( 
            /* [in] */ AcColor path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapMarkerColor( 
            /* [retval][out] */ AcColor *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoSnapMarkerSize( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoSnapMarkerSize( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PolarTrackingVector( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PolarTrackingVector( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenTrackingVector( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenTrackingVector( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutoTrackTooltip( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutoTrackTooltip( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AlignmentPointAcquisition( 
            /* [in] */ AcAlignmentPointAcquisition path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AlignmentPointAcquisition( 
            /* [retval][out] */ AcAlignmentPointAcquisition *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesDraftingVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesDrafting * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesDrafting * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesDrafting * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesDrafting * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapMarker )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapMarker )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapMagnet )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapMagnet )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapTooltip )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapTooltip )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapAperture )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapAperture )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapApertureSize )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapApertureSize )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapMarkerColor )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ AcColor path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapMarkerColor )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ AcColor *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoSnapMarkerSize )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoSnapMarkerSize )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PolarTrackingVector )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PolarTrackingVector )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullScreenTrackingVector )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullScreenTrackingVector )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoTrackTooltip )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoTrackTooltip )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AlignmentPointAcquisition )( 
            IAcadPreferencesDrafting * This,
            /* [in] */ AcAlignmentPointAcquisition path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AlignmentPointAcquisition )( 
            IAcadPreferencesDrafting * This,
            /* [retval][out] */ AcAlignmentPointAcquisition *path);
        
        END_INTERFACE
    } IAcadPreferencesDraftingVtbl;

    interface IAcadPreferencesDrafting
    {
        CONST_VTBL struct IAcadPreferencesDraftingVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesDrafting_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesDrafting_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesDrafting_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesDrafting_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesDrafting_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesDrafting_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesDrafting_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesDrafting_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesDrafting_put_AutoSnapMarker(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapMarker(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapMarker(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapMarker(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapMagnet(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapMagnet(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapMagnet(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapMagnet(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapTooltip(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapTooltip(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapTooltip(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapTooltip(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapAperture(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapAperture(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapAperture(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapAperture(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapApertureSize(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapApertureSize(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapApertureSize(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapApertureSize(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapMarkerColor(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapMarkerColor(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapMarkerColor(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapMarkerColor(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoSnapMarkerSize(This,path)	\
    ( (This)->lpVtbl -> put_AutoSnapMarkerSize(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoSnapMarkerSize(This,path)	\
    ( (This)->lpVtbl -> get_AutoSnapMarkerSize(This,path) ) 

#define IAcadPreferencesDrafting_put_PolarTrackingVector(This,path)	\
    ( (This)->lpVtbl -> put_PolarTrackingVector(This,path) ) 

#define IAcadPreferencesDrafting_get_PolarTrackingVector(This,path)	\
    ( (This)->lpVtbl -> get_PolarTrackingVector(This,path) ) 

#define IAcadPreferencesDrafting_put_FullScreenTrackingVector(This,path)	\
    ( (This)->lpVtbl -> put_FullScreenTrackingVector(This,path) ) 

#define IAcadPreferencesDrafting_get_FullScreenTrackingVector(This,path)	\
    ( (This)->lpVtbl -> get_FullScreenTrackingVector(This,path) ) 

#define IAcadPreferencesDrafting_put_AutoTrackTooltip(This,path)	\
    ( (This)->lpVtbl -> put_AutoTrackTooltip(This,path) ) 

#define IAcadPreferencesDrafting_get_AutoTrackTooltip(This,path)	\
    ( (This)->lpVtbl -> get_AutoTrackTooltip(This,path) ) 

#define IAcadPreferencesDrafting_put_AlignmentPointAcquisition(This,path)	\
    ( (This)->lpVtbl -> put_AlignmentPointAcquisition(This,path) ) 

#define IAcadPreferencesDrafting_get_AlignmentPointAcquisition(This,path)	\
    ( (This)->lpVtbl -> get_AlignmentPointAcquisition(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesDrafting_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesOutput_INTERFACE_DEFINED__
#define __IAcadPreferencesOutput_INTERFACE_DEFINED__

/* interface IAcadPreferencesOutput */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesOutput,0x1286E043,0xF689,0x4FD2,0xA8,0xB5,0xF9,0xB1,0xBB,0x19,0xC0,0x36);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("1286E043-F689-4FD2-A8B5-F9B1BB19C036")
    IAcadPreferencesOutput : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultOutputDevice( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultOutputDevice( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrinterSpoolAlert( 
            /* [in] */ AcPrinterSpoolAlert path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrinterSpoolAlert( 
            /* [retval][out] */ AcPrinterSpoolAlert *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PrinterPaperSizeAlert( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PrinterPaperSizeAlert( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PlotLegacy( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PlotLegacy( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_OLEQuality( 
            /* [in] */ AcOleQuality path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_OLEQuality( 
            /* [retval][out] */ AcOleQuality *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_UseLastPlotSettings( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_UseLastPlotSettings( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PlotPolicy( 
            /* [in] */ AcPlotPolicy path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PlotPolicy( 
            /* [retval][out] */ AcPlotPolicy *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultPlotStyleTable( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultPlotStyleTable( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultPlotStyleForObjects( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultPlotStyleForObjects( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultPlotStyleForLayer( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultPlotStyleForLayer( 
            /* [retval][out] */ BSTR *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ContinuousPlotLog( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ContinuousPlotLog( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_AutomaticPlotLog( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_AutomaticPlotLog( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DefaultPlotToFilePath( 
            /* [in] */ BSTR path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DefaultPlotToFilePath( 
            /* [retval][out] */ BSTR *path) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesOutputVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesOutput * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesOutput * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesOutput * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesOutput * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesOutput * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesOutput * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesOutput * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultOutputDevice )( 
            IAcadPreferencesOutput * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultOutputDevice )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterSpoolAlert )( 
            IAcadPreferencesOutput * This,
            /* [in] */ AcPrinterSpoolAlert path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterSpoolAlert )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ AcPrinterSpoolAlert *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PrinterPaperSizeAlert )( 
            IAcadPreferencesOutput * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PrinterPaperSizeAlert )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotLegacy )( 
            IAcadPreferencesOutput * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotLegacy )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_OLEQuality )( 
            IAcadPreferencesOutput * This,
            /* [in] */ AcOleQuality path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OLEQuality )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ AcOleQuality *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_UseLastPlotSettings )( 
            IAcadPreferencesOutput * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_UseLastPlotSettings )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PlotPolicy )( 
            IAcadPreferencesOutput * This,
            /* [in] */ AcPlotPolicy path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PlotPolicy )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ AcPlotPolicy *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultPlotStyleTable )( 
            IAcadPreferencesOutput * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultPlotStyleTable )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultPlotStyleForObjects )( 
            IAcadPreferencesOutput * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultPlotStyleForObjects )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultPlotStyleForLayer )( 
            IAcadPreferencesOutput * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultPlotStyleForLayer )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ BSTR *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ContinuousPlotLog )( 
            IAcadPreferencesOutput * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ContinuousPlotLog )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutomaticPlotLog )( 
            IAcadPreferencesOutput * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutomaticPlotLog )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefaultPlotToFilePath )( 
            IAcadPreferencesOutput * This,
            /* [in] */ BSTR path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefaultPlotToFilePath )( 
            IAcadPreferencesOutput * This,
            /* [retval][out] */ BSTR *path);
        
        END_INTERFACE
    } IAcadPreferencesOutputVtbl;

    interface IAcadPreferencesOutput
    {
        CONST_VTBL struct IAcadPreferencesOutputVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesOutput_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesOutput_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesOutput_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesOutput_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesOutput_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesOutput_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesOutput_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesOutput_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesOutput_put_DefaultOutputDevice(This,path)	\
    ( (This)->lpVtbl -> put_DefaultOutputDevice(This,path) ) 

#define IAcadPreferencesOutput_get_DefaultOutputDevice(This,path)	\
    ( (This)->lpVtbl -> get_DefaultOutputDevice(This,path) ) 

#define IAcadPreferencesOutput_put_PrinterSpoolAlert(This,path)	\
    ( (This)->lpVtbl -> put_PrinterSpoolAlert(This,path) ) 

#define IAcadPreferencesOutput_get_PrinterSpoolAlert(This,path)	\
    ( (This)->lpVtbl -> get_PrinterSpoolAlert(This,path) ) 

#define IAcadPreferencesOutput_put_PrinterPaperSizeAlert(This,path)	\
    ( (This)->lpVtbl -> put_PrinterPaperSizeAlert(This,path) ) 

#define IAcadPreferencesOutput_get_PrinterPaperSizeAlert(This,path)	\
    ( (This)->lpVtbl -> get_PrinterPaperSizeAlert(This,path) ) 

#define IAcadPreferencesOutput_put_PlotLegacy(This,path)	\
    ( (This)->lpVtbl -> put_PlotLegacy(This,path) ) 

#define IAcadPreferencesOutput_get_PlotLegacy(This,path)	\
    ( (This)->lpVtbl -> get_PlotLegacy(This,path) ) 

#define IAcadPreferencesOutput_put_OLEQuality(This,path)	\
    ( (This)->lpVtbl -> put_OLEQuality(This,path) ) 

#define IAcadPreferencesOutput_get_OLEQuality(This,path)	\
    ( (This)->lpVtbl -> get_OLEQuality(This,path) ) 

#define IAcadPreferencesOutput_put_UseLastPlotSettings(This,path)	\
    ( (This)->lpVtbl -> put_UseLastPlotSettings(This,path) ) 

#define IAcadPreferencesOutput_get_UseLastPlotSettings(This,path)	\
    ( (This)->lpVtbl -> get_UseLastPlotSettings(This,path) ) 

#define IAcadPreferencesOutput_put_PlotPolicy(This,path)	\
    ( (This)->lpVtbl -> put_PlotPolicy(This,path) ) 

#define IAcadPreferencesOutput_get_PlotPolicy(This,path)	\
    ( (This)->lpVtbl -> get_PlotPolicy(This,path) ) 

#define IAcadPreferencesOutput_put_DefaultPlotStyleTable(This,path)	\
    ( (This)->lpVtbl -> put_DefaultPlotStyleTable(This,path) ) 

#define IAcadPreferencesOutput_get_DefaultPlotStyleTable(This,path)	\
    ( (This)->lpVtbl -> get_DefaultPlotStyleTable(This,path) ) 

#define IAcadPreferencesOutput_put_DefaultPlotStyleForObjects(This,path)	\
    ( (This)->lpVtbl -> put_DefaultPlotStyleForObjects(This,path) ) 

#define IAcadPreferencesOutput_get_DefaultPlotStyleForObjects(This,path)	\
    ( (This)->lpVtbl -> get_DefaultPlotStyleForObjects(This,path) ) 

#define IAcadPreferencesOutput_put_DefaultPlotStyleForLayer(This,path)	\
    ( (This)->lpVtbl -> put_DefaultPlotStyleForLayer(This,path) ) 

#define IAcadPreferencesOutput_get_DefaultPlotStyleForLayer(This,path)	\
    ( (This)->lpVtbl -> get_DefaultPlotStyleForLayer(This,path) ) 

#define IAcadPreferencesOutput_put_ContinuousPlotLog(This,path)	\
    ( (This)->lpVtbl -> put_ContinuousPlotLog(This,path) ) 

#define IAcadPreferencesOutput_get_ContinuousPlotLog(This,path)	\
    ( (This)->lpVtbl -> get_ContinuousPlotLog(This,path) ) 

#define IAcadPreferencesOutput_put_AutomaticPlotLog(This,path)	\
    ( (This)->lpVtbl -> put_AutomaticPlotLog(This,path) ) 

#define IAcadPreferencesOutput_get_AutomaticPlotLog(This,path)	\
    ( (This)->lpVtbl -> get_AutomaticPlotLog(This,path) ) 

#define IAcadPreferencesOutput_put_DefaultPlotToFilePath(This,path)	\
    ( (This)->lpVtbl -> put_DefaultPlotToFilePath(This,path) ) 

#define IAcadPreferencesOutput_get_DefaultPlotToFilePath(This,path)	\
    ( (This)->lpVtbl -> get_DefaultPlotToFilePath(This,path) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesOutput_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesSelection_INTERFACE_DEFINED__
#define __IAcadPreferencesSelection_INTERFACE_DEFINED__

/* interface IAcadPreferencesSelection */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesSelection,0x52C353BC,0x24EA,0x43E0,0xA6,0x56,0xF5,0x77,0x7C,0x60,0x42,0x6A);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("52C353BC-24EA-43E0-A656-F5777C60426A")
    IAcadPreferencesSelection : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickFirst( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickFirst( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickAdd( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickAdd( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickDrag( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickDrag( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickAuto( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickAuto( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickBoxSize( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickBoxSize( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayGrips( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayGrips( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayGripsWithinBlocks( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayGripsWithinBlocks( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_GripColorSelected( 
            /* [in] */ AcColor path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_GripColorSelected( 
            /* [retval][out] */ AcColor *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_GripColorUnselected( 
            /* [in] */ AcColor path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_GripColorUnselected( 
            /* [retval][out] */ AcColor *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_GripSize( 
            /* [in] */ long path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_GripSize( 
            /* [retval][out] */ long *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_PickGroup( 
            /* [in] */ VARIANT_BOOL pick) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_PickGroup( 
            /* [retval][out] */ VARIANT_BOOL *pick) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesSelectionVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesSelection * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesSelection * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesSelection * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesSelection * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesSelection * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesSelection * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesSelection * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickFirst )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickFirst )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickAdd )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickAdd )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickDrag )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickDrag )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickAuto )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickAuto )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickBoxSize )( 
            IAcadPreferencesSelection * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickBoxSize )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayGrips )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayGrips )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayGripsWithinBlocks )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayGripsWithinBlocks )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GripColorSelected )( 
            IAcadPreferencesSelection * This,
            /* [in] */ AcColor path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GripColorSelected )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ AcColor *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GripColorUnselected )( 
            IAcadPreferencesSelection * This,
            /* [in] */ AcColor path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GripColorUnselected )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ AcColor *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_GripSize )( 
            IAcadPreferencesSelection * This,
            /* [in] */ long path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_GripSize )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ long *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PickGroup )( 
            IAcadPreferencesSelection * This,
            /* [in] */ VARIANT_BOOL pick);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PickGroup )( 
            IAcadPreferencesSelection * This,
            /* [retval][out] */ VARIANT_BOOL *pick);
        
        END_INTERFACE
    } IAcadPreferencesSelectionVtbl;

    interface IAcadPreferencesSelection
    {
        CONST_VTBL struct IAcadPreferencesSelectionVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesSelection_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesSelection_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesSelection_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesSelection_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesSelection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesSelection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesSelection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesSelection_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesSelection_put_PickFirst(This,path)	\
    ( (This)->lpVtbl -> put_PickFirst(This,path) ) 

#define IAcadPreferencesSelection_get_PickFirst(This,path)	\
    ( (This)->lpVtbl -> get_PickFirst(This,path) ) 

#define IAcadPreferencesSelection_put_PickAdd(This,path)	\
    ( (This)->lpVtbl -> put_PickAdd(This,path) ) 

#define IAcadPreferencesSelection_get_PickAdd(This,path)	\
    ( (This)->lpVtbl -> get_PickAdd(This,path) ) 

#define IAcadPreferencesSelection_put_PickDrag(This,path)	\
    ( (This)->lpVtbl -> put_PickDrag(This,path) ) 

#define IAcadPreferencesSelection_get_PickDrag(This,path)	\
    ( (This)->lpVtbl -> get_PickDrag(This,path) ) 

#define IAcadPreferencesSelection_put_PickAuto(This,path)	\
    ( (This)->lpVtbl -> put_PickAuto(This,path) ) 

#define IAcadPreferencesSelection_get_PickAuto(This,path)	\
    ( (This)->lpVtbl -> get_PickAuto(This,path) ) 

#define IAcadPreferencesSelection_put_PickBoxSize(This,path)	\
    ( (This)->lpVtbl -> put_PickBoxSize(This,path) ) 

#define IAcadPreferencesSelection_get_PickBoxSize(This,path)	\
    ( (This)->lpVtbl -> get_PickBoxSize(This,path) ) 

#define IAcadPreferencesSelection_put_DisplayGrips(This,path)	\
    ( (This)->lpVtbl -> put_DisplayGrips(This,path) ) 

#define IAcadPreferencesSelection_get_DisplayGrips(This,path)	\
    ( (This)->lpVtbl -> get_DisplayGrips(This,path) ) 

#define IAcadPreferencesSelection_put_DisplayGripsWithinBlocks(This,path)	\
    ( (This)->lpVtbl -> put_DisplayGripsWithinBlocks(This,path) ) 

#define IAcadPreferencesSelection_get_DisplayGripsWithinBlocks(This,path)	\
    ( (This)->lpVtbl -> get_DisplayGripsWithinBlocks(This,path) ) 

#define IAcadPreferencesSelection_put_GripColorSelected(This,path)	\
    ( (This)->lpVtbl -> put_GripColorSelected(This,path) ) 

#define IAcadPreferencesSelection_get_GripColorSelected(This,path)	\
    ( (This)->lpVtbl -> get_GripColorSelected(This,path) ) 

#define IAcadPreferencesSelection_put_GripColorUnselected(This,path)	\
    ( (This)->lpVtbl -> put_GripColorUnselected(This,path) ) 

#define IAcadPreferencesSelection_get_GripColorUnselected(This,path)	\
    ( (This)->lpVtbl -> get_GripColorUnselected(This,path) ) 

#define IAcadPreferencesSelection_put_GripSize(This,path)	\
    ( (This)->lpVtbl -> put_GripSize(This,path) ) 

#define IAcadPreferencesSelection_get_GripSize(This,path)	\
    ( (This)->lpVtbl -> get_GripSize(This,path) ) 

#define IAcadPreferencesSelection_put_PickGroup(This,pick)	\
    ( (This)->lpVtbl -> put_PickGroup(This,pick) ) 

#define IAcadPreferencesSelection_get_PickGroup(This,pick)	\
    ( (This)->lpVtbl -> get_PickGroup(This,pick) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesSelection_INTERFACE_DEFINED__ */


#ifndef __IAcadPreferencesSystem_INTERFACE_DEFINED__
#define __IAcadPreferencesSystem_INTERFACE_DEFINED__

/* interface IAcadPreferencesSystem */
/* [unique][helpstringcontext][helpcontext][dual][uuid][object] */ 


DEFINE_GUID(IID_IAcadPreferencesSystem,0x49EA47F9,0x9A7C,0x4C20,0xA9,0xF4,0x33,0x64,0xC5,0x48,0x60,0xFE);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("49EA47F9-9A7C-4C20-A9F4-3364C54860FE")
    IAcadPreferencesSystem : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_SingleDocumentMode( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SingleDocumentMode( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_DisplayOLEScale( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DisplayOLEScale( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_StoreSQLIndex( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_StoreSQLIndex( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TablesReadOnly( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TablesReadOnly( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_EnableStartupDialog( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_EnableStartupDialog( 
            /* [retval][out] */ VARIANT_BOOL *path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_BeepOnError( 
            /* [in] */ VARIANT_BOOL beepOnError) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_BeepOnError( 
            /* [retval][out] */ VARIANT_BOOL *beepOnError) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_ShowWarningMessages( 
            /* [in] */ VARIANT_BOOL path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShowWarningMessages( 
            /* [retval][out] */ VARIANT_BOOL *Path) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LoadAcadLspInAllDocuments( 
            /* [in] */ VARIANT_BOOL ALID) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LoadAcadLspInAllDocuments( 
            /* [retval][out] */ VARIANT_BOOL *pALID) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPreferencesSystemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPreferencesSystem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPreferencesSystem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPreferencesSystem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPreferencesSystem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPreferencesSystem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPreferencesSystem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPreferencesSystem * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SingleDocumentMode )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SingleDocumentMode )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayOLEScale )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayOLEScale )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_StoreSQLIndex )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_StoreSQLIndex )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TablesReadOnly )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TablesReadOnly )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EnableStartupDialog )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EnableStartupDialog )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_BeepOnError )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL beepOnError);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_BeepOnError )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *beepOnError);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ShowWarningMessages )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL path);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShowWarningMessages )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *Path);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LoadAcadLspInAllDocuments )( 
            IAcadPreferencesSystem * This,
            /* [in] */ VARIANT_BOOL ALID);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LoadAcadLspInAllDocuments )( 
            IAcadPreferencesSystem * This,
            /* [retval][out] */ VARIANT_BOOL *pALID);
        
        END_INTERFACE
    } IAcadPreferencesSystemVtbl;

    interface IAcadPreferencesSystem
    {
        CONST_VTBL struct IAcadPreferencesSystemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPreferencesSystem_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPreferencesSystem_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPreferencesSystem_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPreferencesSystem_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPreferencesSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPreferencesSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPreferencesSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPreferencesSystem_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPreferencesSystem_put_SingleDocumentMode(This,path)	\
    ( (This)->lpVtbl -> put_SingleDocumentMode(This,path) ) 

#define IAcadPreferencesSystem_get_SingleDocumentMode(This,path)	\
    ( (This)->lpVtbl -> get_SingleDocumentMode(This,path) ) 

#define IAcadPreferencesSystem_put_DisplayOLEScale(This,path)	\
    ( (This)->lpVtbl -> put_DisplayOLEScale(This,path) ) 

#define IAcadPreferencesSystem_get_DisplayOLEScale(This,path)	\
    ( (This)->lpVtbl -> get_DisplayOLEScale(This,path) ) 

#define IAcadPreferencesSystem_put_StoreSQLIndex(This,path)	\
    ( (This)->lpVtbl -> put_StoreSQLIndex(This,path) ) 

#define IAcadPreferencesSystem_get_StoreSQLIndex(This,path)	\
    ( (This)->lpVtbl -> get_StoreSQLIndex(This,path) ) 

#define IAcadPreferencesSystem_put_TablesReadOnly(This,path)	\
    ( (This)->lpVtbl -> put_TablesReadOnly(This,path) ) 

#define IAcadPreferencesSystem_get_TablesReadOnly(This,path)	\
    ( (This)->lpVtbl -> get_TablesReadOnly(This,path) ) 

#define IAcadPreferencesSystem_put_EnableStartupDialog(This,path)	\
    ( (This)->lpVtbl -> put_EnableStartupDialog(This,path) ) 

#define IAcadPreferencesSystem_get_EnableStartupDialog(This,path)	\
    ( (This)->lpVtbl -> get_EnableStartupDialog(This,path) ) 

#define IAcadPreferencesSystem_put_BeepOnError(This,beepOnError)	\
    ( (This)->lpVtbl -> put_BeepOnError(This,beepOnError) ) 

#define IAcadPreferencesSystem_get_BeepOnError(This,beepOnError)	\
    ( (This)->lpVtbl -> get_BeepOnError(This,beepOnError) ) 

#define IAcadPreferencesSystem_put_ShowWarningMessages(This,path)	\
    ( (This)->lpVtbl -> put_ShowWarningMessages(This,path) ) 

#define IAcadPreferencesSystem_get_ShowWarningMessages(This,Path)	\
    ( (This)->lpVtbl -> get_ShowWarningMessages(This,Path) ) 

#define IAcadPreferencesSystem_put_LoadAcadLspInAllDocuments(This,ALID)	\
    ( (This)->lpVtbl -> put_LoadAcadLspInAllDocuments(This,ALID) ) 

#define IAcadPreferencesSystem_get_LoadAcadLspInAllDocuments(This,pALID)	\
    ( (This)->lpVtbl -> get_LoadAcadLspInAllDocuments(This,pALID) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPreferencesSystem_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPreferences,0xBE016D04,0x1334,0x428F,0xB5,0x87,0xCE,0x1B,0x67,0xED,0x2D,0x2F);

#ifdef __cplusplus

class DECLSPEC_UUID("BE016D04-1334-428F-B587-CE1B67ED2D2F")
AcadPreferences;
#endif

DEFINE_GUID(CLSID_AcadPreferencesDrafting,0x16EC3EBF,0x0B55,0x4C4D,0xB6,0x29,0x0D,0xEE,0x47,0x4B,0xB9,0x1C);

#ifdef __cplusplus

class DECLSPEC_UUID("16EC3EBF-0B55-4C4D-B629-0DEE474BB91C")
AcadPreferencesDrafting;
#endif

DEFINE_GUID(CLSID_AcadPreferencesDisplay,0x044A7376,0xC644,0x484C,0xAF,0x05,0x11,0x17,0xC0,0x04,0xFD,0x34);

#ifdef __cplusplus

class DECLSPEC_UUID("044A7376-C644-484C-AF05-1117C004FD34")
AcadPreferencesDisplay;
#endif

DEFINE_GUID(CLSID_AcadPreferencesFiles,0xA9AAFD60,0x6855,0x4AC3,0x96,0xD6,0x05,0x35,0x4D,0xF1,0x1D,0x51);

#ifdef __cplusplus

class DECLSPEC_UUID("A9AAFD60-6855-4AC3-96D6-05354DF11D51")
AcadPreferencesFiles;
#endif

DEFINE_GUID(CLSID_AcadPreferencesOpenSave,0x2C5B2059,0x8C15,0x43CE,0x93,0x51,0xE6,0xD5,0x7A,0xEE,0x58,0x68);

#ifdef __cplusplus

class DECLSPEC_UUID("2C5B2059-8C15-43CE-9351-E6D57AEE5868")
AcadPreferencesOpenSave;
#endif

DEFINE_GUID(CLSID_AcadPreferencesOutput,0x69DBACE4,0xE3E3,0x49B4,0xAB,0x3C,0x05,0x69,0x00,0x3B,0x5F,0x46);

#ifdef __cplusplus

class DECLSPEC_UUID("69DBACE4-E3E3-49B4-AB3C-0569003B5F46")
AcadPreferencesOutput;
#endif

DEFINE_GUID(CLSID_AcadPreferencesProfiles,0x162126EA,0xFEBB,0x4756,0xB5,0x05,0xCD,0xDC,0x27,0x3D,0x9B,0xF1);

#ifdef __cplusplus

class DECLSPEC_UUID("162126EA-FEBB-4756-B505-CDDC273D9BF1")
AcadPreferencesProfiles;
#endif

DEFINE_GUID(CLSID_AcadPreferencesSelection,0x7089E547,0xB453,0x4BE8,0xBB,0x29,0xCF,0x5F,0x4A,0x66,0x8A,0x0A);

#ifdef __cplusplus

class DECLSPEC_UUID("7089E547-B453-4BE8-BB29-CF5F4A668A0A")
AcadPreferencesSelection;
#endif

DEFINE_GUID(CLSID_AcadPreferencesSystem,0x47A81A38,0xFE0A,0x445E,0xB5,0x7D,0xF4,0xDC,0x29,0x5B,0x4F,0x0A);

#ifdef __cplusplus

class DECLSPEC_UUID("47A81A38-FE0A-445E-B57D-F4DC295B4F0A")
AcadPreferencesSystem;
#endif

DEFINE_GUID(CLSID_AcadPreferencesUser,0x7DFE7873,0x174B,0x452F,0x9E,0xF4,0x30,0x4F,0xEB,0x16,0x98,0xDD);

#ifdef __cplusplus

class DECLSPEC_UUID("7DFE7873-174B-452F-9EF4-304FEB1698DD")
AcadPreferencesUser;
#endif

#ifndef __IAcadMenuGroup_INTERFACE_DEFINED__
#define __IAcadMenuGroup_INTERFACE_DEFINED__

/* interface IAcadMenuGroup */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadMenuGroup,0xA598820F,0x8893,0x4340,0xA0,0x75,0x1A,0x15,0xFE,0xEC,0xB8,0x58);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A598820F-8893-4340-A075-1A15FEECB858")
    IAcadMenuGroup : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadMenuGroups **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcMenuGroupType *menuType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_MenuFileName( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Menus( 
            /* [retval][out] */ IAcadPopupMenus **pMenus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Toolbars( 
            /* [retval][out] */ IAcadToolbars **pToolbars) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Unload( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Save( 
            /* [in] */ AcMenuFileType MenuFileType) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SaveAs( 
            /* [in] */ BSTR MenuFileName,
            /* [in] */ AcMenuFileType MenuFileType) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadMenuGroupVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadMenuGroup * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadMenuGroup * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadMenuGroup * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadMenuGroup * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadMenuGroup * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadMenuGroup * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadMenuGroup * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ IAcadMenuGroups **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ AcMenuGroupType *menuType);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MenuFileName )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Menus )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ IAcadPopupMenus **pMenus);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Toolbars )( 
            IAcadMenuGroup * This,
            /* [retval][out] */ IAcadToolbars **pToolbars);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Unload )( 
            IAcadMenuGroup * This);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
            IAcadMenuGroup * This,
            /* [in] */ AcMenuFileType MenuFileType);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SaveAs )( 
            IAcadMenuGroup * This,
            /* [in] */ BSTR MenuFileName,
            /* [in] */ AcMenuFileType MenuFileType);
        
        END_INTERFACE
    } IAcadMenuGroupVtbl;

    interface IAcadMenuGroup
    {
        CONST_VTBL struct IAcadMenuGroupVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadMenuGroup_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadMenuGroup_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadMenuGroup_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadMenuGroup_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadMenuGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadMenuGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadMenuGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadMenuGroup_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadMenuGroup_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadMenuGroup_get_Name(This,name)	\
    ( (This)->lpVtbl -> get_Name(This,name) ) 

#define IAcadMenuGroup_get_Type(This,menuType)	\
    ( (This)->lpVtbl -> get_Type(This,menuType) ) 

#define IAcadMenuGroup_get_MenuFileName(This,name)	\
    ( (This)->lpVtbl -> get_MenuFileName(This,name) ) 

#define IAcadMenuGroup_get_Menus(This,pMenus)	\
    ( (This)->lpVtbl -> get_Menus(This,pMenus) ) 

#define IAcadMenuGroup_get_Toolbars(This,pToolbars)	\
    ( (This)->lpVtbl -> get_Toolbars(This,pToolbars) ) 

#define IAcadMenuGroup_Unload(This)	\
    ( (This)->lpVtbl -> Unload(This) ) 

#define IAcadMenuGroup_Save(This,MenuFileType)	\
    ( (This)->lpVtbl -> Save(This,MenuFileType) ) 

#define IAcadMenuGroup_SaveAs(This,MenuFileName,MenuFileType)	\
    ( (This)->lpVtbl -> SaveAs(This,MenuFileName,MenuFileType) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadMenuGroup_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMenuGroups,0x22B07BAE,0x8452,0x4C81,0xA2,0x34,0x93,0x41,0x80,0x78,0x9E,0xB9);

#ifdef __cplusplus

class DECLSPEC_UUID("22B07BAE-8452-4C81-A234-934180789EB9")
AcadMenuGroups;
#endif

#ifndef __IAcadPopupMenus_INTERFACE_DEFINED__
#define __IAcadPopupMenus_INTERFACE_DEFINED__

/* interface IAcadPopupMenus */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadPopupMenus,0xFB611847,0xAC20,0x4704,0x87,0x9D,0x0D,0x82,0x06,0x08,0x82,0xB6);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("FB611847-AC20-4704-879D-0D82060882B6")
    IAcadPopupMenus : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenu **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadMenuGroup **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR MenuName,
            /* [retval][out] */ IAcadPopupMenu **pMenu) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE InsertMenuInMenuBar( 
            /* [in] */ BSTR MenuName,
            /* [in] */ VARIANT index) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE RemoveMenuFromMenuBar( 
            /* [in] */ VARIANT index) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPopupMenusVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPopupMenus * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPopupMenus * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPopupMenus * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPopupMenus * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPopupMenus * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPopupMenus * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPopupMenus * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadPopupMenus * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenu **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadPopupMenus * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadPopupMenus * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPopupMenus * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadPopupMenus * This,
            /* [retval][out] */ IAcadMenuGroup **pParent);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadPopupMenus * This,
            /* [in] */ BSTR MenuName,
            /* [retval][out] */ IAcadPopupMenu **pMenu);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *InsertMenuInMenuBar )( 
            IAcadPopupMenus * This,
            /* [in] */ BSTR MenuName,
            /* [in] */ VARIANT index);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *RemoveMenuFromMenuBar )( 
            IAcadPopupMenus * This,
            /* [in] */ VARIANT index);
        
        END_INTERFACE
    } IAcadPopupMenusVtbl;

    interface IAcadPopupMenus
    {
        CONST_VTBL struct IAcadPopupMenusVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPopupMenus_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPopupMenus_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPopupMenus_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPopupMenus_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPopupMenus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPopupMenus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPopupMenus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPopupMenus_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadPopupMenus_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadPopupMenus_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadPopupMenus_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPopupMenus_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadPopupMenus_Add(This,MenuName,pMenu)	\
    ( (This)->lpVtbl -> Add(This,MenuName,pMenu) ) 

#define IAcadPopupMenus_InsertMenuInMenuBar(This,MenuName,index)	\
    ( (This)->lpVtbl -> InsertMenuInMenuBar(This,MenuName,index) ) 

#define IAcadPopupMenus_RemoveMenuFromMenuBar(This,index)	\
    ( (This)->lpVtbl -> RemoveMenuFromMenuBar(This,index) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPopupMenus_INTERFACE_DEFINED__ */


#ifndef __IAcadToolbars_INTERFACE_DEFINED__
#define __IAcadToolbars_INTERFACE_DEFINED__

/* interface IAcadToolbars */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadToolbars,0x31C194E9,0x375A,0x40B5,0xAE,0x12,0x5F,0x28,0x6B,0x6E,0xCD,0xE5);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("31C194E9-375A-40B5-AE12-5F286B6ECDE5")
    IAcadToolbars : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbar **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadMenuGroup **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LargeButtons( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_LargeButtons( 
            /* [in] */ VARIANT_BOOL bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Add( 
            /* [in] */ BSTR ToolbarName,
            /* [retval][out] */ IAcadToolbar **pTlbar) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadToolbarsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadToolbars * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadToolbars * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadToolbars * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadToolbars * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadToolbars * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadToolbars * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadToolbars * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadToolbars * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbar **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadToolbars * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadToolbars * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadToolbars * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadToolbars * This,
            /* [retval][out] */ IAcadMenuGroup **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LargeButtons )( 
            IAcadToolbars * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LargeButtons )( 
            IAcadToolbars * This,
            /* [in] */ VARIANT_BOOL bFlag);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IAcadToolbars * This,
            /* [in] */ BSTR ToolbarName,
            /* [retval][out] */ IAcadToolbar **pTlbar);
        
        END_INTERFACE
    } IAcadToolbarsVtbl;

    interface IAcadToolbars
    {
        CONST_VTBL struct IAcadToolbarsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadToolbars_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadToolbars_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadToolbars_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadToolbars_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadToolbars_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadToolbars_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadToolbars_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadToolbars_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadToolbars_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadToolbars_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadToolbars_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadToolbars_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadToolbars_get_LargeButtons(This,bFlag)	\
    ( (This)->lpVtbl -> get_LargeButtons(This,bFlag) ) 

#define IAcadToolbars_put_LargeButtons(This,bFlag)	\
    ( (This)->lpVtbl -> put_LargeButtons(This,bFlag) ) 

#define IAcadToolbars_Add(This,ToolbarName,pTlbar)	\
    ( (This)->lpVtbl -> Add(This,ToolbarName,pTlbar) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadToolbars_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMenuGroup,0xE563BE67,0xE06E,0x4C0E,0xB9,0x3F,0x35,0x14,0x22,0xAE,0x58,0x19);

#ifdef __cplusplus

class DECLSPEC_UUID("E563BE67-E06E-4C0E-B93F-351422AE5819")
AcadMenuGroup;
#endif

#ifndef __IAcadPopupMenu_INTERFACE_DEFINED__
#define __IAcadPopupMenu_INTERFACE_DEFINED__

/* interface IAcadPopupMenu */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadPopupMenu,0xF81CC832,0xE2DD,0x460D,0x88,0x3C,0x73,0xF9,0xC8,0x95,0xA3,0xA8);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("F81CC832-E2DD-460D-883C-73F9C895A3A8")
    IAcadPopupMenu : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenuItem **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_NameNoMnemonic( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_ShortcutMenu( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_OnMenuBar( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AddMenuItem( 
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Label,
            /* [in] */ BSTR Macro,
            /* [retval][out] */ IAcadPopupMenuItem **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AddSubMenu( 
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Label,
            /* [retval][out] */ IAcadPopupMenu **pMenu) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AddSeparator( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenuItem **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE InsertInMenuBar( 
            /* [in] */ VARIANT index) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE RemoveFromMenuBar( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *bstrTag) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPopupMenuVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPopupMenu * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPopupMenu * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPopupMenu * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPopupMenu * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPopupMenu * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPopupMenu * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPopupMenu * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadPopupMenu * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenuItem **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ IDispatch **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadPopupMenu * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NameNoMnemonic )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ShortcutMenu )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_OnMenuBar )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AddMenuItem )( 
            IAcadPopupMenu * This,
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Label,
            /* [in] */ BSTR Macro,
            /* [retval][out] */ IAcadPopupMenuItem **pItem);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AddSubMenu )( 
            IAcadPopupMenu * This,
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Label,
            /* [retval][out] */ IAcadPopupMenu **pMenu);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AddSeparator )( 
            IAcadPopupMenu * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadPopupMenuItem **pItem);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *InsertInMenuBar )( 
            IAcadPopupMenu * This,
            /* [in] */ VARIANT index);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *RemoveFromMenuBar )( 
            IAcadPopupMenu * This);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadPopupMenu * This,
            /* [retval][out] */ BSTR *bstrTag);
        
        END_INTERFACE
    } IAcadPopupMenuVtbl;

    interface IAcadPopupMenu
    {
        CONST_VTBL struct IAcadPopupMenuVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPopupMenu_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPopupMenu_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPopupMenu_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPopupMenu_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPopupMenu_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPopupMenu_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPopupMenu_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPopupMenu_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadPopupMenu_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadPopupMenu_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadPopupMenu_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPopupMenu_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadPopupMenu_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadPopupMenu_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadPopupMenu_get_NameNoMnemonic(This,bstrName)	\
    ( (This)->lpVtbl -> get_NameNoMnemonic(This,bstrName) ) 

#define IAcadPopupMenu_get_ShortcutMenu(This,bFlag)	\
    ( (This)->lpVtbl -> get_ShortcutMenu(This,bFlag) ) 

#define IAcadPopupMenu_get_OnMenuBar(This,bFlag)	\
    ( (This)->lpVtbl -> get_OnMenuBar(This,bFlag) ) 

#define IAcadPopupMenu_AddMenuItem(This,index,Label,Macro,pItem)	\
    ( (This)->lpVtbl -> AddMenuItem(This,index,Label,Macro,pItem) ) 

#define IAcadPopupMenu_AddSubMenu(This,index,Label,pMenu)	\
    ( (This)->lpVtbl -> AddSubMenu(This,index,Label,pMenu) ) 

#define IAcadPopupMenu_AddSeparator(This,index,pItem)	\
    ( (This)->lpVtbl -> AddSeparator(This,index,pItem) ) 

#define IAcadPopupMenu_InsertInMenuBar(This,index)	\
    ( (This)->lpVtbl -> InsertInMenuBar(This,index) ) 

#define IAcadPopupMenu_RemoveFromMenuBar(This)	\
    ( (This)->lpVtbl -> RemoveFromMenuBar(This) ) 

#define IAcadPopupMenu_get_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> get_TagString(This,bstrTag) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPopupMenu_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadMenuBar,0x816FC9E7,0x1E6D,0x42EC,0xB1,0x62,0x87,0x0D,0x1B,0x8C,0xD0,0xD5);

#ifdef __cplusplus

class DECLSPEC_UUID("816FC9E7-1E6D-42EC-B162-870D1B8CD0D5")
AcadMenuBar;
#endif

DEFINE_GUID(CLSID_AcadPopupMenus,0xABDAA7C4,0x7FEC,0x40E5,0x86,0x37,0xCE,0x9A,0x2B,0x31,0xC1,0x2E);

#ifdef __cplusplus

class DECLSPEC_UUID("ABDAA7C4-7FEC-40E5-8637-CE9A2B31C12E")
AcadPopupMenus;
#endif

#ifndef __IAcadPopupMenuItem_INTERFACE_DEFINED__
#define __IAcadPopupMenuItem_INTERFACE_DEFINED__

/* interface IAcadPopupMenuItem */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadPopupMenuItem,0xB2D2A889,0x2A84,0x4050,0x84,0x03,0xE8,0x97,0x91,0x52,0xB0,0x4D);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("B2D2A889-2A84-4050-8403-E8979152B04D")
    IAcadPopupMenuItem : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadPopupMenu **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Label( 
            /* [retval][out] */ BSTR *bstrLabel) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Label( 
            /* [in] */ BSTR bstrLabel) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Enable( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Enable( 
            /* [in] */ VARIANT_BOOL bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Check( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Check( 
            /* [in] */ VARIANT_BOOL bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcMenuItemType *itemType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_SubMenu( 
            /* [retval][out] */ IAcadPopupMenu **pMenu) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Macro( 
            /* [retval][out] */ BSTR *bstrMacro) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Macro( 
            /* [in] */ BSTR bstrMacro) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ int *nIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Caption( 
            /* [retval][out] */ BSTR *bstrCaption) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpString( 
            /* [retval][out] */ BSTR *bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HelpString( 
            /* [in] */ BSTR bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_EndSubMenuLevel( 
            /* [retval][out] */ int *Level) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_EndSubMenuLevel( 
            /* [in] */ int Level) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadPopupMenuItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadPopupMenuItem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadPopupMenuItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadPopupMenuItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadPopupMenuItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadPopupMenuItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadPopupMenuItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadPopupMenuItem * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ IAcadPopupMenu **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Label )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ BSTR *bstrLabel);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Label )( 
            IAcadPopupMenuItem * This,
            /* [in] */ BSTR bstrLabel);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ BSTR *bstrTag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TagString )( 
            IAcadPopupMenuItem * This,
            /* [in] */ BSTR bstrTag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Enable )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Enable )( 
            IAcadPopupMenuItem * This,
            /* [in] */ VARIANT_BOOL bFlag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Check )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Check )( 
            IAcadPopupMenuItem * This,
            /* [in] */ VARIANT_BOOL bFlag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ AcMenuItemType *itemType);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SubMenu )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ IAcadPopupMenu **pMenu);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Macro )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ BSTR *bstrMacro);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Macro )( 
            IAcadPopupMenuItem * This,
            /* [in] */ BSTR bstrMacro);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ int *nIndex);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Caption )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ BSTR *bstrCaption);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpString )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ BSTR *bstrHelp);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpString )( 
            IAcadPopupMenuItem * This,
            /* [in] */ BSTR bstrHelp);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadPopupMenuItem * This);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EndSubMenuLevel )( 
            IAcadPopupMenuItem * This,
            /* [retval][out] */ int *Level);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EndSubMenuLevel )( 
            IAcadPopupMenuItem * This,
            /* [in] */ int Level);
        
        END_INTERFACE
    } IAcadPopupMenuItemVtbl;

    interface IAcadPopupMenuItem
    {
        CONST_VTBL struct IAcadPopupMenuItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadPopupMenuItem_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadPopupMenuItem_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadPopupMenuItem_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadPopupMenuItem_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadPopupMenuItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadPopupMenuItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadPopupMenuItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadPopupMenuItem_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadPopupMenuItem_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadPopupMenuItem_get_Label(This,bstrLabel)	\
    ( (This)->lpVtbl -> get_Label(This,bstrLabel) ) 

#define IAcadPopupMenuItem_put_Label(This,bstrLabel)	\
    ( (This)->lpVtbl -> put_Label(This,bstrLabel) ) 

#define IAcadPopupMenuItem_get_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> get_TagString(This,bstrTag) ) 

#define IAcadPopupMenuItem_put_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> put_TagString(This,bstrTag) ) 

#define IAcadPopupMenuItem_get_Enable(This,bFlag)	\
    ( (This)->lpVtbl -> get_Enable(This,bFlag) ) 

#define IAcadPopupMenuItem_put_Enable(This,bFlag)	\
    ( (This)->lpVtbl -> put_Enable(This,bFlag) ) 

#define IAcadPopupMenuItem_get_Check(This,bFlag)	\
    ( (This)->lpVtbl -> get_Check(This,bFlag) ) 

#define IAcadPopupMenuItem_put_Check(This,bFlag)	\
    ( (This)->lpVtbl -> put_Check(This,bFlag) ) 

#define IAcadPopupMenuItem_get_Type(This,itemType)	\
    ( (This)->lpVtbl -> get_Type(This,itemType) ) 

#define IAcadPopupMenuItem_get_SubMenu(This,pMenu)	\
    ( (This)->lpVtbl -> get_SubMenu(This,pMenu) ) 

#define IAcadPopupMenuItem_get_Macro(This,bstrMacro)	\
    ( (This)->lpVtbl -> get_Macro(This,bstrMacro) ) 

#define IAcadPopupMenuItem_put_Macro(This,bstrMacro)	\
    ( (This)->lpVtbl -> put_Macro(This,bstrMacro) ) 

#define IAcadPopupMenuItem_get_Index(This,nIndex)	\
    ( (This)->lpVtbl -> get_Index(This,nIndex) ) 

#define IAcadPopupMenuItem_get_Caption(This,bstrCaption)	\
    ( (This)->lpVtbl -> get_Caption(This,bstrCaption) ) 

#define IAcadPopupMenuItem_get_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> get_HelpString(This,bstrHelp) ) 

#define IAcadPopupMenuItem_put_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> put_HelpString(This,bstrHelp) ) 

#define IAcadPopupMenuItem_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadPopupMenuItem_get_EndSubMenuLevel(This,Level)	\
    ( (This)->lpVtbl -> get_EndSubMenuLevel(This,Level) ) 

#define IAcadPopupMenuItem_put_EndSubMenuLevel(This,Level)	\
    ( (This)->lpVtbl -> put_EndSubMenuLevel(This,Level) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadPopupMenuItem_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadPopupMenu,0xFE67648E,0x52CC,0x414B,0x89,0x84,0xC5,0x3A,0xB9,0x08,0xCB,0xE3);

#ifdef __cplusplus

class DECLSPEC_UUID("FE67648E-52CC-414B-8984-C53AB908CBE3")
AcadPopupMenu;
#endif

DEFINE_GUID(CLSID_AcadPopupMenuItem,0x2FA74830,0xA3AC,0x487E,0x93,0x63,0xB0,0xE7,0x94,0x84,0x29,0xE5);

#ifdef __cplusplus

class DECLSPEC_UUID("2FA74830-A3AC-487E-9363-B0E7948429E5")
AcadPopupMenuItem;
#endif

#ifndef __IAcadUtility_INTERFACE_DEFINED__
#define __IAcadUtility_INTERFACE_DEFINED__

/* interface IAcadUtility */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadUtility,0xE3715A96,0x30C7,0x40BB,0xA0,0x11,0x29,0xEF,0xA5,0x3F,0x4A,0x6B);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E3715A96-30C7-40BB-A011-29EFA53F4A6B")
    IAcadUtility : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AngleToReal( 
            /* [in] */ BSTR Angle,
            /* [in] */ AcAngleUnits Unit,
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AngleToString( 
            /* [in] */ double Angle,
            /* [in] */ AcAngleUnits Unit,
            /* [in] */ int Precision,
            /* [retval][out] */ BSTR *bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE DistanceToReal( 
            /* [in] */ BSTR Distance,
            /* [in] */ AcUnits Unit,
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE RealToString( 
            /* [in] */ double Value,
            /* [in] */ AcUnits Unit,
            /* [in] */ int Precision,
            /* [retval][out] */ BSTR *bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE TranslateCoordinates( 
            /* [in] */ VARIANT Point,
            /* [in] */ AcCoordinateSystem FromCoordSystem,
            /* [in] */ AcCoordinateSystem ToCoordSystem,
            /* [in] */ int Displacement,
            /* [optional][in] */ VARIANT OCSNormal,
            /* [retval][out] */ VARIANT *transPt) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE InitializeUserInput( 
            /* [in] */ int Bits,
            /* [optional][in] */ VARIANT KeyWordList) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetInteger( 
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ int *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetReal( 
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetInput( 
            /* [retval][out] */ BSTR *Value) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetKeyword( 
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ BSTR *bstrKeyword) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetString( 
            /* [in] */ int HasSpaces,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ BSTR *bstrValue) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetAngle( 
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *Angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AngleFromXAxis( 
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ double *angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetCorner( 
            /* [in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ VARIANT *corner) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetDistance( 
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *dist) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetOrientation( 
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *angle) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetPoint( 
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ VARIANT *inputPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE PolarPoint( 
            /* [in] */ VARIANT Point,
            /* [in] */ double Angle,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *inputPoint) = 0;
        
        virtual /* [helpstringcontext][helpcontext][vararg] */ HRESULT STDMETHODCALLTYPE CreateTypedArray( 
            /* [out] */ VARIANT *varArr,
            /* [in] */ int type,
            /* [in] */ SAFEARRAY * inArgs) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetEntity( 
            /* [out] */ IDispatch **Object,
            /* [out] */ VARIANT *PickedPoint,
            /* [optional][in] */ VARIANT Prompt) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Prompt( 
            /* [in] */ BSTR Message) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetSubEntity( 
            /* [out] */ IDispatch **Object,
            /* [out] */ VARIANT *PickedPoint,
            /* [out] */ VARIANT *TransMatrix,
            /* [out] */ VARIANT *ContextData,
            /* [optional][in] */ VARIANT Prompt) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE IsURL( 
            /* [in] */ BSTR URL,
            /* [retval][out] */ VARIANT_BOOL *IsValidURL) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetRemoteFile( 
            /* [in] */ BSTR URL,
            /* [out] */ BSTR *LocalFile,
            /* [in] */ VARIANT_BOOL IgnoreCache) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE PutRemoteFile( 
            /* [in] */ BSTR URL,
            /* [in] */ BSTR LocalFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE IsRemoteFile( 
            /* [in] */ BSTR LocalFile,
            /* [out] */ BSTR *URL,
            /* [retval][out] */ VARIANT_BOOL *IsDownloadedFile) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE LaunchBrowserDialog( 
            /* [out] */ BSTR *SelectedURL,
            /* [in] */ BSTR DialogTitle,
            /* [in] */ BSTR OpenButtonCaption,
            /* [in] */ BSTR StartPageURL,
            /* [in] */ BSTR RegistryRootKey,
            /* [in] */ VARIANT_BOOL OpenButtonAlwaysEnabled,
            /* [retval][out] */ VARIANT_BOOL *Success) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SendModelessOperationStart( 
            BSTR Context) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SendModelessOperationEnded( 
            BSTR Context) = 0;
        
        virtual HRESULT STDMETHODCALLTYPE GetObjectIdString( 
            /* [in] */ IDispatch *Object,
            /* [in] */ VARIANT_BOOL bHex,
            /* [retval][out] */ BSTR *ObjectIdString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadUtilityVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadUtility * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadUtility * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadUtility * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadUtility * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadUtility * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadUtility * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadUtility * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AngleToReal )( 
            IAcadUtility * This,
            /* [in] */ BSTR Angle,
            /* [in] */ AcAngleUnits Unit,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AngleToString )( 
            IAcadUtility * This,
            /* [in] */ double Angle,
            /* [in] */ AcAngleUnits Unit,
            /* [in] */ int Precision,
            /* [retval][out] */ BSTR *bstrValue);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *DistanceToReal )( 
            IAcadUtility * This,
            /* [in] */ BSTR Distance,
            /* [in] */ AcUnits Unit,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *RealToString )( 
            IAcadUtility * This,
            /* [in] */ double Value,
            /* [in] */ AcUnits Unit,
            /* [in] */ int Precision,
            /* [retval][out] */ BSTR *bstrValue);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *TranslateCoordinates )( 
            IAcadUtility * This,
            /* [in] */ VARIANT Point,
            /* [in] */ AcCoordinateSystem FromCoordSystem,
            /* [in] */ AcCoordinateSystem ToCoordSystem,
            /* [in] */ int Displacement,
            /* [optional][in] */ VARIANT OCSNormal,
            /* [retval][out] */ VARIANT *transPt);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *InitializeUserInput )( 
            IAcadUtility * This,
            /* [in] */ int Bits,
            /* [optional][in] */ VARIANT KeyWordList);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetInteger )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ int *Value);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetReal )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *Value);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetInput )( 
            IAcadUtility * This,
            /* [retval][out] */ BSTR *Value);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetKeyword )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ BSTR *bstrKeyword);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetString )( 
            IAcadUtility * This,
            /* [in] */ int HasSpaces,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ BSTR *bstrValue);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetAngle )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *Angle);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AngleFromXAxis )( 
            IAcadUtility * This,
            /* [in] */ VARIANT StartPoint,
            /* [in] */ VARIANT EndPoint,
            /* [retval][out] */ double *angle);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetCorner )( 
            IAcadUtility * This,
            /* [in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ VARIANT *corner);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetDistance )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *dist);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetOrientation )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ double *angle);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetPoint )( 
            IAcadUtility * This,
            /* [optional][in] */ VARIANT Point,
            /* [optional][in] */ VARIANT Prompt,
            /* [retval][out] */ VARIANT *inputPoint);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *PolarPoint )( 
            IAcadUtility * This,
            /* [in] */ VARIANT Point,
            /* [in] */ double Angle,
            /* [in] */ double Distance,
            /* [retval][out] */ VARIANT *inputPoint);
        
        /* [helpstringcontext][helpcontext][vararg] */ HRESULT ( STDMETHODCALLTYPE *CreateTypedArray )( 
            IAcadUtility * This,
            /* [out] */ VARIANT *varArr,
            /* [in] */ int type,
            /* [in] */ SAFEARRAY * inArgs);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetEntity )( 
            IAcadUtility * This,
            /* [out] */ IDispatch **Object,
            /* [out] */ VARIANT *PickedPoint,
            /* [optional][in] */ VARIANT Prompt);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Prompt )( 
            IAcadUtility * This,
            /* [in] */ BSTR Message);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetSubEntity )( 
            IAcadUtility * This,
            /* [out] */ IDispatch **Object,
            /* [out] */ VARIANT *PickedPoint,
            /* [out] */ VARIANT *TransMatrix,
            /* [out] */ VARIANT *ContextData,
            /* [optional][in] */ VARIANT Prompt);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *IsURL )( 
            IAcadUtility * This,
            /* [in] */ BSTR URL,
            /* [retval][out] */ VARIANT_BOOL *IsValidURL);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetRemoteFile )( 
            IAcadUtility * This,
            /* [in] */ BSTR URL,
            /* [out] */ BSTR *LocalFile,
            /* [in] */ VARIANT_BOOL IgnoreCache);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *PutRemoteFile )( 
            IAcadUtility * This,
            /* [in] */ BSTR URL,
            /* [in] */ BSTR LocalFile);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *IsRemoteFile )( 
            IAcadUtility * This,
            /* [in] */ BSTR LocalFile,
            /* [out] */ BSTR *URL,
            /* [retval][out] */ VARIANT_BOOL *IsDownloadedFile);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *LaunchBrowserDialog )( 
            IAcadUtility * This,
            /* [out] */ BSTR *SelectedURL,
            /* [in] */ BSTR DialogTitle,
            /* [in] */ BSTR OpenButtonCaption,
            /* [in] */ BSTR StartPageURL,
            /* [in] */ BSTR RegistryRootKey,
            /* [in] */ VARIANT_BOOL OpenButtonAlwaysEnabled,
            /* [retval][out] */ VARIANT_BOOL *Success);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SendModelessOperationStart )( 
            IAcadUtility * This,
            BSTR Context);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SendModelessOperationEnded )( 
            IAcadUtility * This,
            BSTR Context);
        
        HRESULT ( STDMETHODCALLTYPE *GetObjectIdString )( 
            IAcadUtility * This,
            /* [in] */ IDispatch *Object,
            /* [in] */ VARIANT_BOOL bHex,
            /* [retval][out] */ BSTR *ObjectIdString);
        
        END_INTERFACE
    } IAcadUtilityVtbl;

    interface IAcadUtility
    {
        CONST_VTBL struct IAcadUtilityVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadUtility_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadUtility_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadUtility_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadUtility_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadUtility_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadUtility_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadUtility_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadUtility_AngleToReal(This,Angle,Unit,Value)	\
    ( (This)->lpVtbl -> AngleToReal(This,Angle,Unit,Value) ) 

#define IAcadUtility_AngleToString(This,Angle,Unit,Precision,bstrValue)	\
    ( (This)->lpVtbl -> AngleToString(This,Angle,Unit,Precision,bstrValue) ) 

#define IAcadUtility_DistanceToReal(This,Distance,Unit,Value)	\
    ( (This)->lpVtbl -> DistanceToReal(This,Distance,Unit,Value) ) 

#define IAcadUtility_RealToString(This,Value,Unit,Precision,bstrValue)	\
    ( (This)->lpVtbl -> RealToString(This,Value,Unit,Precision,bstrValue) ) 

#define IAcadUtility_TranslateCoordinates(This,Point,FromCoordSystem,ToCoordSystem,Displacement,OCSNormal,transPt)	\
    ( (This)->lpVtbl -> TranslateCoordinates(This,Point,FromCoordSystem,ToCoordSystem,Displacement,OCSNormal,transPt) ) 

#define IAcadUtility_InitializeUserInput(This,Bits,KeyWordList)	\
    ( (This)->lpVtbl -> InitializeUserInput(This,Bits,KeyWordList) ) 

#define IAcadUtility_GetInteger(This,Prompt,Value)	\
    ( (This)->lpVtbl -> GetInteger(This,Prompt,Value) ) 

#define IAcadUtility_GetReal(This,Prompt,Value)	\
    ( (This)->lpVtbl -> GetReal(This,Prompt,Value) ) 

#define IAcadUtility_GetInput(This,Value)	\
    ( (This)->lpVtbl -> GetInput(This,Value) ) 

#define IAcadUtility_GetKeyword(This,Prompt,bstrKeyword)	\
    ( (This)->lpVtbl -> GetKeyword(This,Prompt,bstrKeyword) ) 

#define IAcadUtility_GetString(This,HasSpaces,Prompt,bstrValue)	\
    ( (This)->lpVtbl -> GetString(This,HasSpaces,Prompt,bstrValue) ) 

#define IAcadUtility_GetAngle(This,Point,Prompt,Angle)	\
    ( (This)->lpVtbl -> GetAngle(This,Point,Prompt,Angle) ) 

#define IAcadUtility_AngleFromXAxis(This,StartPoint,EndPoint,angle)	\
    ( (This)->lpVtbl -> AngleFromXAxis(This,StartPoint,EndPoint,angle) ) 

#define IAcadUtility_GetCorner(This,Point,Prompt,corner)	\
    ( (This)->lpVtbl -> GetCorner(This,Point,Prompt,corner) ) 

#define IAcadUtility_GetDistance(This,Point,Prompt,dist)	\
    ( (This)->lpVtbl -> GetDistance(This,Point,Prompt,dist) ) 

#define IAcadUtility_GetOrientation(This,Point,Prompt,angle)	\
    ( (This)->lpVtbl -> GetOrientation(This,Point,Prompt,angle) ) 

#define IAcadUtility_GetPoint(This,Point,Prompt,inputPoint)	\
    ( (This)->lpVtbl -> GetPoint(This,Point,Prompt,inputPoint) ) 

#define IAcadUtility_PolarPoint(This,Point,Angle,Distance,inputPoint)	\
    ( (This)->lpVtbl -> PolarPoint(This,Point,Angle,Distance,inputPoint) ) 

#define IAcadUtility_CreateTypedArray(This,varArr,type,inArgs)	\
    ( (This)->lpVtbl -> CreateTypedArray(This,varArr,type,inArgs) ) 

#define IAcadUtility_GetEntity(This,Object,PickedPoint,Prompt)	\
    ( (This)->lpVtbl -> GetEntity(This,Object,PickedPoint,Prompt) ) 

#define IAcadUtility_Prompt(This,Message)	\
    ( (This)->lpVtbl -> Prompt(This,Message) ) 

#define IAcadUtility_GetSubEntity(This,Object,PickedPoint,TransMatrix,ContextData,Prompt)	\
    ( (This)->lpVtbl -> GetSubEntity(This,Object,PickedPoint,TransMatrix,ContextData,Prompt) ) 

#define IAcadUtility_IsURL(This,URL,IsValidURL)	\
    ( (This)->lpVtbl -> IsURL(This,URL,IsValidURL) ) 

#define IAcadUtility_GetRemoteFile(This,URL,LocalFile,IgnoreCache)	\
    ( (This)->lpVtbl -> GetRemoteFile(This,URL,LocalFile,IgnoreCache) ) 

#define IAcadUtility_PutRemoteFile(This,URL,LocalFile)	\
    ( (This)->lpVtbl -> PutRemoteFile(This,URL,LocalFile) ) 

#define IAcadUtility_IsRemoteFile(This,LocalFile,URL,IsDownloadedFile)	\
    ( (This)->lpVtbl -> IsRemoteFile(This,LocalFile,URL,IsDownloadedFile) ) 

#define IAcadUtility_LaunchBrowserDialog(This,SelectedURL,DialogTitle,OpenButtonCaption,StartPageURL,RegistryRootKey,OpenButtonAlwaysEnabled,Success)	\
    ( (This)->lpVtbl -> LaunchBrowserDialog(This,SelectedURL,DialogTitle,OpenButtonCaption,StartPageURL,RegistryRootKey,OpenButtonAlwaysEnabled,Success) ) 

#define IAcadUtility_SendModelessOperationStart(This,Context)	\
    ( (This)->lpVtbl -> SendModelessOperationStart(This,Context) ) 

#define IAcadUtility_SendModelessOperationEnded(This,Context)	\
    ( (This)->lpVtbl -> SendModelessOperationEnded(This,Context) ) 

#define IAcadUtility_GetObjectIdString(This,Object,bHex,ObjectIdString)	\
    ( (This)->lpVtbl -> GetObjectIdString(This,Object,bHex,ObjectIdString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadUtility_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadUtility,0x36613D86,0xEDFB,0x4A84,0xB5,0x58,0x0C,0x7B,0xD4,0x2D,0xC6,0xC9);

#ifdef __cplusplus

class DECLSPEC_UUID("36613D86-EDFB-4A84-B558-0C7BD42DC6C9")
AcadUtility;
#endif

#ifndef ___DAcadDocumentEvents_DISPINTERFACE_DEFINED__
#define ___DAcadDocumentEvents_DISPINTERFACE_DEFINED__

/* dispinterface _DAcadDocumentEvents */
/* [hidden][helpstringcontext][uuid] */ 


DEFINE_GUID(DIID__DAcadDocumentEvents,0x59FD00E9,0xBAD5,0x41DA,0xA7,0x2B,0xFC,0xB0,0x9B,0x57,0x9F,0x05);

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("59FD00E9-BAD5-41DA-A72B-FCB09B579F05")
    _DAcadDocumentEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _DAcadDocumentEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _DAcadDocumentEvents * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _DAcadDocumentEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _DAcadDocumentEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _DAcadDocumentEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _DAcadDocumentEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _DAcadDocumentEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _DAcadDocumentEvents * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        END_INTERFACE
    } _DAcadDocumentEventsVtbl;

    interface _DAcadDocumentEvents
    {
        CONST_VTBL struct _DAcadDocumentEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _DAcadDocumentEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _DAcadDocumentEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _DAcadDocumentEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _DAcadDocumentEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _DAcadDocumentEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _DAcadDocumentEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _DAcadDocumentEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___DAcadDocumentEvents_DISPINTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadDocument,0x149DD748,0xEA85,0x45A6,0x93,0xC5,0xAC,0x50,0xD0,0x26,0x0C,0x98);

#ifdef __cplusplus

class DECLSPEC_UUID("149DD748-EA85-45A6-93C5-AC50D0260C98")
AcadDocument;
#endif

DEFINE_GUID(CLSID_AcadDocuments,0x2881008C,0xBD3D,0x419B,0x84,0x6B,0xDC,0xDA,0x31,0x27,0x26,0xD5);

#ifdef __cplusplus

class DECLSPEC_UUID("2881008C-BD3D-419B-846B-DCDA312726D5")
AcadDocuments;
#endif

#ifndef __IAcadToolbar_INTERFACE_DEFINED__
#define __IAcadToolbar_INTERFACE_DEFINED__

/* interface IAcadToolbar */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadToolbar,0xE68CA72A,0x9134,0x4514,0xB6,0xEE,0x86,0x88,0xEB,0x3D,0x41,0xDB);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E68CA72A-9134-4514-B6EE-8688EB3D41DB")
    IAcadToolbar : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][id] */ HRESULT STDMETHODCALLTYPE Item( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbarItem **pItem) = 0;
        
        virtual /* [hidden][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
            /* [retval][out] */ IUnknown **pEnumVariant) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
            /* [retval][out] */ long *count) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IDispatch **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
            /* [in] */ VARIANT_BOOL bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_DockStatus( 
            /* [retval][out] */ AcToolbarDockStatus *nStatus) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_LargeButtons( 
            /* [retval][out] */ VARIANT_BOOL *bFlag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
            /* [retval][out] */ int *nLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
            /* [in] */ int nLeft) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
            /* [retval][out] */ int *nTop) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
            /* [in] */ int nTop) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
            /* [retval][out] */ int *nWidth) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
            /* [retval][out] */ int *nHeight) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_FloatingRows( 
            /* [retval][out] */ int *nRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_FloatingRows( 
            /* [in] */ int nRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpString( 
            /* [retval][out] */ BSTR *bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HelpString( 
            /* [in] */ BSTR bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AddToolbarButton( 
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Name,
            /* [in] */ BSTR HelpString,
            /* [in] */ BSTR Macro,
            /* [optional][in] */ VARIANT FlyoutButton,
            /* [retval][out] */ IAcadToolbarItem **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AddSeparator( 
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbarItem **pItem) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Dock( 
            /* [in] */ AcToolbarDockStatus Side) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Float( 
            /* [in] */ int Top,
            /* [in] */ int Left,
            /* [in] */ int NumberFloatRows) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *bstrTag) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadToolbarVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadToolbar * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadToolbar * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadToolbar * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadToolbar * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadToolbar * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadToolbar * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadToolbar * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Item )( 
            IAcadToolbar * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbarItem **pItem);
        
        /* [hidden][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get__NewEnum )( 
            IAcadToolbar * This,
            /* [retval][out] */ IUnknown **pEnumVariant);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
            IAcadToolbar * This,
            /* [retval][out] */ long *count);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadToolbar * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadToolbar * This,
            /* [retval][out] */ IDispatch **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadToolbar * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadToolbar * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Visible )( 
            IAcadToolbar * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Visible )( 
            IAcadToolbar * This,
            /* [in] */ VARIANT_BOOL bFlag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DockStatus )( 
            IAcadToolbar * This,
            /* [retval][out] */ AcToolbarDockStatus *nStatus);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LargeButtons )( 
            IAcadToolbar * This,
            /* [retval][out] */ VARIANT_BOOL *bFlag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Left )( 
            IAcadToolbar * This,
            /* [retval][out] */ int *nLeft);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Left )( 
            IAcadToolbar * This,
            /* [in] */ int nLeft);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Top )( 
            IAcadToolbar * This,
            /* [retval][out] */ int *nTop);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Top )( 
            IAcadToolbar * This,
            /* [in] */ int nTop);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Width )( 
            IAcadToolbar * This,
            /* [retval][out] */ int *nWidth);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Height )( 
            IAcadToolbar * This,
            /* [retval][out] */ int *nHeight);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FloatingRows )( 
            IAcadToolbar * This,
            /* [retval][out] */ int *nRows);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FloatingRows )( 
            IAcadToolbar * This,
            /* [in] */ int nRows);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpString )( 
            IAcadToolbar * This,
            /* [retval][out] */ BSTR *bstrHelp);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpString )( 
            IAcadToolbar * This,
            /* [in] */ BSTR bstrHelp);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AddToolbarButton )( 
            IAcadToolbar * This,
            /* [in] */ VARIANT index,
            /* [in] */ BSTR Name,
            /* [in] */ BSTR HelpString,
            /* [in] */ BSTR Macro,
            /* [optional][in] */ VARIANT FlyoutButton,
            /* [retval][out] */ IAcadToolbarItem **pItem);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AddSeparator )( 
            IAcadToolbar * This,
            /* [in] */ VARIANT index,
            /* [retval][out] */ IAcadToolbarItem **pItem);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Dock )( 
            IAcadToolbar * This,
            /* [in] */ AcToolbarDockStatus Side);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Float )( 
            IAcadToolbar * This,
            /* [in] */ int Top,
            /* [in] */ int Left,
            /* [in] */ int NumberFloatRows);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadToolbar * This);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadToolbar * This,
            /* [retval][out] */ BSTR *bstrTag);
        
        END_INTERFACE
    } IAcadToolbarVtbl;

    interface IAcadToolbar
    {
        CONST_VTBL struct IAcadToolbarVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadToolbar_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadToolbar_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadToolbar_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadToolbar_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadToolbar_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadToolbar_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadToolbar_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadToolbar_Item(This,index,pItem)	\
    ( (This)->lpVtbl -> Item(This,index,pItem) ) 

#define IAcadToolbar_get__NewEnum(This,pEnumVariant)	\
    ( (This)->lpVtbl -> get__NewEnum(This,pEnumVariant) ) 

#define IAcadToolbar_get_Count(This,count)	\
    ( (This)->lpVtbl -> get_Count(This,count) ) 

#define IAcadToolbar_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadToolbar_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadToolbar_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadToolbar_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadToolbar_get_Visible(This,bFlag)	\
    ( (This)->lpVtbl -> get_Visible(This,bFlag) ) 

#define IAcadToolbar_put_Visible(This,bFlag)	\
    ( (This)->lpVtbl -> put_Visible(This,bFlag) ) 

#define IAcadToolbar_get_DockStatus(This,nStatus)	\
    ( (This)->lpVtbl -> get_DockStatus(This,nStatus) ) 

#define IAcadToolbar_get_LargeButtons(This,bFlag)	\
    ( (This)->lpVtbl -> get_LargeButtons(This,bFlag) ) 

#define IAcadToolbar_get_Left(This,nLeft)	\
    ( (This)->lpVtbl -> get_Left(This,nLeft) ) 

#define IAcadToolbar_put_Left(This,nLeft)	\
    ( (This)->lpVtbl -> put_Left(This,nLeft) ) 

#define IAcadToolbar_get_Top(This,nTop)	\
    ( (This)->lpVtbl -> get_Top(This,nTop) ) 

#define IAcadToolbar_put_Top(This,nTop)	\
    ( (This)->lpVtbl -> put_Top(This,nTop) ) 

#define IAcadToolbar_get_Width(This,nWidth)	\
    ( (This)->lpVtbl -> get_Width(This,nWidth) ) 

#define IAcadToolbar_get_Height(This,nHeight)	\
    ( (This)->lpVtbl -> get_Height(This,nHeight) ) 

#define IAcadToolbar_get_FloatingRows(This,nRows)	\
    ( (This)->lpVtbl -> get_FloatingRows(This,nRows) ) 

#define IAcadToolbar_put_FloatingRows(This,nRows)	\
    ( (This)->lpVtbl -> put_FloatingRows(This,nRows) ) 

#define IAcadToolbar_get_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> get_HelpString(This,bstrHelp) ) 

#define IAcadToolbar_put_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> put_HelpString(This,bstrHelp) ) 

#define IAcadToolbar_AddToolbarButton(This,index,Name,HelpString,Macro,FlyoutButton,pItem)	\
    ( (This)->lpVtbl -> AddToolbarButton(This,index,Name,HelpString,Macro,FlyoutButton,pItem) ) 

#define IAcadToolbar_AddSeparator(This,index,pItem)	\
    ( (This)->lpVtbl -> AddSeparator(This,index,pItem) ) 

#define IAcadToolbar_Dock(This,Side)	\
    ( (This)->lpVtbl -> Dock(This,Side) ) 

#define IAcadToolbar_Float(This,Top,Left,NumberFloatRows)	\
    ( (This)->lpVtbl -> Float(This,Top,Left,NumberFloatRows) ) 

#define IAcadToolbar_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadToolbar_get_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> get_TagString(This,bstrTag) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadToolbar_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadToolbars,0xA1C4F743,0x456E,0x41E3,0x80,0x20,0x06,0xFB,0x0E,0x61,0x63,0xB0);

#ifdef __cplusplus

class DECLSPEC_UUID("A1C4F743-456E-41E3-8020-06FB0E6163B0")
AcadToolbars;
#endif

#ifndef __IAcadToolbarItem_INTERFACE_DEFINED__
#define __IAcadToolbarItem_INTERFACE_DEFINED__

/* interface IAcadToolbarItem */
/* [dual][helpstringcontext][helpcontext][uuid][object] */ 


DEFINE_GUID(IID_IAcadToolbarItem,0x29A7BEA8,0xDB69,0x4E58,0xA0,0x51,0xC9,0xF6,0x26,0x0B,0x68,0x9F);

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("29A7BEA8-DB69-4E58-A051-C9F6260B689F")
    IAcadToolbarItem : public IDispatch
    {
    public:
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
            /* [retval][out] */ IAcadApplication **pAppObj) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
            /* [retval][out] */ IAcadToolbar **pParent) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [retval][out] */ BSTR *bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_TagString( 
            /* [retval][out] */ BSTR *bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_TagString( 
            /* [in] */ BSTR bstrTag) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
            /* [retval][out] */ AcToolbarItemType *itemType) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Flyout( 
            /* [retval][out] */ IAcadToolbar **pTlbar) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Macro( 
            /* [retval][out] */ BSTR *bstrMacro) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_Macro( 
            /* [in] */ BSTR bstrMacro) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
            /* [retval][out] */ int *nIndex) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_HelpString( 
            /* [retval][out] */ BSTR *bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_HelpString( 
            /* [in] */ BSTR bstrHelp) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE GetBitmaps( 
            /* [out] */ BSTR *SmallIconName,
            /* [out] */ BSTR *LargeIconName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE SetBitmaps( 
            /* [in] */ BSTR SmallIconName,
            /* [in] */ BSTR LargeIconName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE AttachToolbarToFlyout( 
            /* [in] */ BSTR MenuGroupName,
            /* [in] */ BSTR ToolbarName) = 0;
        
        virtual /* [helpstringcontext][helpcontext] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
        
        virtual /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_CommandDisplayName( 
            /* [retval][out] */ BSTR *name) = 0;
        
        virtual /* [helpcontext][propput] */ HRESULT STDMETHODCALLTYPE put_CommandDisplayName( 
            /* [in] */ BSTR name) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IAcadToolbarItemVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IAcadToolbarItem * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IAcadToolbarItem * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IAcadToolbarItem * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IAcadToolbarItem * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IAcadToolbarItem * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IAcadToolbarItem * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IAcadToolbarItem * This,
            /* [annotation][in] */ 
            _In_  DISPID dispIdMember,
            /* [annotation][in] */ 
            _In_  REFIID riid,
            /* [annotation][in] */ 
            _In_  LCID lcid,
            /* [annotation][in] */ 
            _In_  WORD wFlags,
            /* [annotation][out][in] */ 
            _In_  DISPPARAMS *pDispParams,
            /* [annotation][out] */ 
            _Out_opt_  VARIANT *pVarResult,
            /* [annotation][out] */ 
            _Out_opt_  EXCEPINFO *pExcepInfo,
            /* [annotation][out] */ 
            _Out_opt_  UINT *puArgErr);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Application )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ IAcadApplication **pAppObj);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Parent )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ IAcadToolbar **pParent);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ BSTR *bstrName);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR bstrName);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TagString )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ BSTR *bstrTag);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_TagString )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR bstrTag);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ AcToolbarItemType *itemType);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Flyout )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ IAcadToolbar **pTlbar);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Macro )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ BSTR *bstrMacro);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Macro )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR bstrMacro);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Index )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ int *nIndex);
        
        /* [helpstringcontext][helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HelpString )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ BSTR *bstrHelp);
        
        /* [helpstringcontext][helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HelpString )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR bstrHelp);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *GetBitmaps )( 
            IAcadToolbarItem * This,
            /* [out] */ BSTR *SmallIconName,
            /* [out] */ BSTR *LargeIconName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *SetBitmaps )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR SmallIconName,
            /* [in] */ BSTR LargeIconName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *AttachToolbarToFlyout )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR MenuGroupName,
            /* [in] */ BSTR ToolbarName);
        
        /* [helpstringcontext][helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Delete )( 
            IAcadToolbarItem * This);
        
        /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CommandDisplayName )( 
            IAcadToolbarItem * This,
            /* [retval][out] */ BSTR *name);
        
        /* [helpcontext][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CommandDisplayName )( 
            IAcadToolbarItem * This,
            /* [in] */ BSTR name);
        
        END_INTERFACE
    } IAcadToolbarItemVtbl;

    interface IAcadToolbarItem
    {
        CONST_VTBL struct IAcadToolbarItemVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IAcadToolbarItem_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IAcadToolbarItem_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IAcadToolbarItem_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IAcadToolbarItem_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IAcadToolbarItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IAcadToolbarItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IAcadToolbarItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IAcadToolbarItem_get_Application(This,pAppObj)	\
    ( (This)->lpVtbl -> get_Application(This,pAppObj) ) 

#define IAcadToolbarItem_get_Parent(This,pParent)	\
    ( (This)->lpVtbl -> get_Parent(This,pParent) ) 

#define IAcadToolbarItem_get_Name(This,bstrName)	\
    ( (This)->lpVtbl -> get_Name(This,bstrName) ) 

#define IAcadToolbarItem_put_Name(This,bstrName)	\
    ( (This)->lpVtbl -> put_Name(This,bstrName) ) 

#define IAcadToolbarItem_get_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> get_TagString(This,bstrTag) ) 

#define IAcadToolbarItem_put_TagString(This,bstrTag)	\
    ( (This)->lpVtbl -> put_TagString(This,bstrTag) ) 

#define IAcadToolbarItem_get_Type(This,itemType)	\
    ( (This)->lpVtbl -> get_Type(This,itemType) ) 

#define IAcadToolbarItem_get_Flyout(This,pTlbar)	\
    ( (This)->lpVtbl -> get_Flyout(This,pTlbar) ) 

#define IAcadToolbarItem_get_Macro(This,bstrMacro)	\
    ( (This)->lpVtbl -> get_Macro(This,bstrMacro) ) 

#define IAcadToolbarItem_put_Macro(This,bstrMacro)	\
    ( (This)->lpVtbl -> put_Macro(This,bstrMacro) ) 

#define IAcadToolbarItem_get_Index(This,nIndex)	\
    ( (This)->lpVtbl -> get_Index(This,nIndex) ) 

#define IAcadToolbarItem_get_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> get_HelpString(This,bstrHelp) ) 

#define IAcadToolbarItem_put_HelpString(This,bstrHelp)	\
    ( (This)->lpVtbl -> put_HelpString(This,bstrHelp) ) 

#define IAcadToolbarItem_GetBitmaps(This,SmallIconName,LargeIconName)	\
    ( (This)->lpVtbl -> GetBitmaps(This,SmallIconName,LargeIconName) ) 

#define IAcadToolbarItem_SetBitmaps(This,SmallIconName,LargeIconName)	\
    ( (This)->lpVtbl -> SetBitmaps(This,SmallIconName,LargeIconName) ) 

#define IAcadToolbarItem_AttachToolbarToFlyout(This,MenuGroupName,ToolbarName)	\
    ( (This)->lpVtbl -> AttachToolbarToFlyout(This,MenuGroupName,ToolbarName) ) 

#define IAcadToolbarItem_Delete(This)	\
    ( (This)->lpVtbl -> Delete(This) ) 

#define IAcadToolbarItem_get_CommandDisplayName(This,name)	\
    ( (This)->lpVtbl -> get_CommandDisplayName(This,name) ) 

#define IAcadToolbarItem_put_CommandDisplayName(This,name)	\
    ( (This)->lpVtbl -> put_CommandDisplayName(This,name) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IAcadToolbarItem_INTERFACE_DEFINED__ */


DEFINE_GUID(CLSID_AcadToolbar,0xACEA0C81,0xF89B,0x405D,0x91,0xB3,0x6A,0xA3,0xED,0x9D,0x58,0xE9);

#ifdef __cplusplus

class DECLSPEC_UUID("ACEA0C81-F89B-405D-91B3-6AA3ED9D58E9")
AcadToolbar;
#endif

DEFINE_GUID(CLSID_AcadToolbarItem,0xF876307A,0xE509,0x48AE,0xB7,0xAE,0x8C,0x52,0x5F,0x61,0xC8,0xF3);

#ifdef __cplusplus

class DECLSPEC_UUID("F876307A-E509-48AE-B7AE-8C525F61C8F3")
AcadToolbarItem;
#endif
#endif /* __AutoCAD_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


